PORTFOLIO
K A I - S H A N H S U Project Management Code and Programming
Pr oject Management
Design and Fabrication A bout | Envir onment Challenge | Pr oblem solved | Comparison Responsibilities | Reference
Purpose To simplify the troubling process of television-setting. In the meantime, to change the using of traditional TV cable into using network cable which is more maneuverable than traditional TV cable.
Development Platform ADP-XC5FF676 AdeShape™ Development Platform (Released by Andes Technology Corporation)
of Digit al T V Box
Pur pose | Envir onment
Pr oject Management
Design and Fabrication A bout | Envir onment | Intr oduction Challenge | Pr oblem solved | Comparison Responsibilities | Reference
System Configure _The whole structure was on ADP-XC5FF676 AdeShape™ Development Platform. _Using hardware and software that we have already had to create a suitable environment which fits for implanting the “dragon iptv” software into the platform. _When finishing the basic system for the project, we will try to add more functions in order to make it more alike to traditional TV.
of Digit al T V Box Function and Advantages The main function is watching cable TV over the places, as long as access to the Internet. The advantages are as follows: _No traditional TV cable There are many places where traditional TV cable cannot reach, but these places have signal tower for wireless transmit of data. Through the signal tower, we can use the product to watch TV which needs only network signal to work. _ No need to attach to computers Just a movement, switch on, even the elders can use the product to watch TV. Unnecessary to turn on PC is more convenient and furthermore saves the electric power. _High quality of image Because of the bandwidth of network growing largely compare to bandwidth of traditional cable line, using network will have more quality image than traditional cable line.
Sy s t em | Function
Pr oject Management
Design and Fabrication A bout | Envir onment | Intr oduction Challenge | Pr oblem solved | Comparison Responsibilities | Reference
System Processes _ Operation system: Linux _Main technique is to build up bootpImage (kernel+ramdisk), which is easy for testing and modifying once software is transplanted. _Using cross-compiler to compile simple programs, so that they can be executed on the platform. _During the testing period, all programs and bootpImage are loaded through SD card. The final bootpImage would be built up and implanted into the platform after all the drivers or programs are modified and put into the ramdisk.
of Digit al T V Box
System Structure _Linux Kernel Structure There are three parts composing of linux kernel. The top part is Application Layer, where the application software lies and users use it the most. The next part is System Call Interface, which is the only access to the kernel. The inner part is kernel. It is composed of several parts, such as process management, memory management, file systems, device control, networking, hardware‌ As the matter of fact, hardware is the real one that pushes computers to work, while kernel is just a file in system, including detection programs and driver modules to control hardware.
Core technologies and techniques
Pr oject Management
Design and Fabrication A bout | Envir onment | Intr oduction Challenge | Pr oblem solved | Comparison Responsibilities | Reference
System Structure _Building Kernel There are several reasons why to build kernel. When new requirement appears, or the original kernel has too much unnecessary stuff, or just need to cancel some functions, or to strengthen the stability with hardware, or any special environment is needed in embedded system. However, hardware updates quickly. Once old kernel cannot support new functions, and rebuilding a new kernel is such a waste of time, Kernel module would solve the problem. Modules are pieces of code that can be loaded and unloaded into the kernel upon demand. Therefore, isolating and compiling some device drivers that are seldom used into kernel modules extends the functionality of the kernel without the need to reboot the system.
of Digit al T V Box
_Boot Image A boot image is a type of disk image (a computer file containing the complete contents and structure of a Computer storage media). When it is transferred onto a boot device it allows the associated hardware to boot. In this project, we have to build up bootpImage and implant it into the platform. BootpImage comprises kernel, ramdisk, etc. It is the smallest boot image in embedded system. It can cut the size of kernel and reduce the time of developing, compiling and testing. Unlike drivers that are already constructed in the _Ramdisk A RAM disk is a block of RAM that a computer's software is treating as if the memory were a disk drive (secondary storage). We can add applications needed to modify the ramdisk. Ramdisk can help speed up data processing and avoid hard discs reading and writing repeatedly.
Core technologies and techniques
Pr oject Management
Design and Fabrication A bout | Envir onment | Intr oduction Challenge | Pr oblem solve | Comparisond Responsibilities | Reference
Challenge _Input/Output During building period, we input information and instructions through RS-232 port. Because the construction of platform is simple, there’s no remote control signal receiver, once it is close to the real TV-set, we need to add remote control function. Default kernel can only output images or information through small size LCD monitor. Output to desktop monitor may need another drivers and decode library. _Mplayer/IPTV Client Transplantation Putting complicated software into the platform needs to rebuild bootpImage; in the mean time, fluency of cenima frame processing is also a top issue.
of Digit al T V Box
Problem Solved _Mplayer Transplantation Platform doesn’t support floating point, therefore we need to disable mp3lib and enable libmad. Compiling libmad of MAD - MPEG Audio Decoder, which support MPEG-1, MPEG-2 and normal MP3. In order to transplant Mplayer into the platform, it is necessary to modify the configure of Mplayer. Makefile: --disable-mencoder --disable-mp3lib --enable-mad --enable-fbdev make => make install
Callenges | Problem Solved
Pr oject Management
Design and Fabrication A bout | Envir onment | Intr oduction Challenge | Pr oblem solved | Comparison Responsibilities | Reference
./mplayer test.mp3
of Digit al T V Box
./mplayer -ac mad test.mp3
Problem Solved
Pr oject Management
Design and Fabrication A bout | Envir onment | Intr oduction Challenge | Pr oblem solved | Comparison Responsibilities | Reference
SDL Transplantation _SDL (Simple DirectMedia Layer) A cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, and 2D video framebuffer... _Modifying build-scripts/config.sub Makefile: --enable-video-fbcon make => make install Test cenima on platform, output LCD monitor.
of Digit al T V Box ./mplayer –vo fbdev test.mpg
Problem Solved
Pr oject Management
Design and Fabrication A bout | Envir onment | Intr oduction Challenge | Pr oblem solved | Comparison Responsibilities | Reference
./mplayer -ao oss -ac mad test.mpg
of Digit al T V Box
./mplayer -ao sdl -autosync 30 -ac mad test.mpg
Problem Solved
Pr oject Management
Design and Fabrication A bout | Envir onment | Intr oduction Challenge | Pr oblem solved | Comparison Responsibilities | Reference
Frame Playing Fluency Comparison See on YouTube: http://youtu.be/TZZEQBrWO2M
of Digit al T V Box
Comparison With the information explosion and technological development, watching TV anywhere anytime is no longer a dream. There are some products which called TV Box/TV Card that realize the dream. _TV Card Advantage: Recordable Broadcasting Light and cheap
_TV Box Advantage: Recordable, Broadcasting Independent of computer USB TV Box - Notebook
Disadvantage: Relying on computer Occupying resources
Disadvantage: Low compatibility V/A Non-synchronization
Setting: TV card in computer’s PCI slot Audio cable, traditional TV cable Driver installation
Setting: Monitor, audio cable Traditional TV cable
Comparison
Pr oject Management
Design and Fabrication A bout | Envir onment | Intr oduction Challenge | Pr oblem solved | Comparison Responsibilities | Reference
./mplayer -ao oss -ac mad test.mpg Comparison _Internet TV Box Normal internet TV box watches TV through internet. That is, it can transmit the traditional TV cable signal at home through Internet. Therefore, we can watch TV anywhere without extra paying as long as the place is access to Internet.
of Digit al T V Box
_This project---Digital TV Box Here TV Box seems to improve TV Card, for it needs not attach to computers. And Internet TV box further improves TV Box, for it is not limited by areas anymore. However, there still exists a vital problem, that is, no matter TV Card/TV Box even Internet TV Box, they all rely on the traditional TV cable to watch TV programs. In other words, if there’s no TV cable signal, they would be out of use, and that is why the project is triggered. Digital TV Box has the advantages all above; furthermore, it is independent of TV cable, which really makes big sense. All the setting would be monitors, network and that’s all. Through IPTV software, there would be even more channel choices and services, not to mention the quality of images comparing to the Internet videos. The most important is that using an IC platform got easily to design and fabricate the digital TV box, makes anyone be able to afford the price and do this without difficulties.
Comparison
Pr oject Management
Design and Fabrication A bout | Envir onment | Intr oduction Challenge | Pr oblem solved | Comparison Responsibilities | Reference
Responsibilities There are 4 members in this project. As the leader, I planned the time schedule and hosted the team meeting, checked every member’s recent progress. In this project, my main parts were doing all the Linux operation, and building up bootpImage, as well as some data integration.
of Digit al T V Box
Reference Andes Technology Corporation. “BSP v2.1.0 User Manual” 2009. Andes Core. 2010. 2010. <http://nckuhuahua.byethost12.com/doku.php?do=show&id=start> Andes Core 32bit RISC CPU. 2009. 2010 <http://andescore.blogspot.com> Vbird’s Linux website. 2001. 2010. <http://linux.vbird.org> ETTV America Corp. IPTV question. 2010. <http://www.ettvamerica.com/programs/iptv/index.html> KBtalking, IPTV DIGIZON Internet TV. 2009. 2010 . <http://kbtalking.cool3c.com/article/9125> Building Linux Kernel(Ramdisk) 2009. 2010. <http://andescore.blogspot.com/2010/04/building-linux-kernelramdisk-for.html> Andes ADP-XC5 Build Linux Kernel. 2009. 2010. <http://allanbian.blogspot.com/2009/04/adp-xc5-porting-linux.html>
Responsibilities | Reference
Other assignment or wor k
Code and programming Experience | Flash game
FPG A | Comput er gr aphics pr ogr amming Per sonal Websit e | Design Por tf olio
Experience of Programming RSA encryption and decryption program--------------C/C++ sudoku answering program------------------------------------C/C++ Imitation of micro plurk-----------------------------------------------C++ Strengthen the contrast of image program---------Matlab Flash game-JUMPing-----------------------------------action script3 Tiny animation by assembling language---------MASM32 FPGA game---------------------------------------------------------------verilog openGL Projects --------------------------------------------C++/openGL Sample Source Code Link: FPGA game - Letâ&#x20AC;&#x2122;s dance!! https://www.dropbox.com/s/az4y4c4q7u1mmfj/FPGA%20-%20Let%27s%20dance%21%21.rar
openGL Projects https://www.dropbox.com/s/b5ugf9n2c8ws9sl/CG_openGL_The%20Robot.rar https://www.dropbox.com/s/9h6ce43ryao0asx/CG_openGL_Texture%20Retargeting.rar https://www.dropbox.com/s/kn8n5wl3vci9m1g/CG_openGL_Interactive%20Shape%20Manipulation.rar
Flash Game - JUMPing Work of flash game, coding in action script3. JUMPing is a simple rope skipping game. The rope rotates clockwise or counter-clockwise in random, and the speed will change as time passes. Players have to press up arrow key on computer keyboard to let the baby jump. When time is up or running out of the blood, game is over. The inspiration is from an arcade machine I used to play when I was a kid. Now there is no such arcade machine anymore. In order to memorize my childhood, I made this game, and thought about rebuilding all the other rounds of that arcade machine.
Go play JUMPing
http://bit.ly/WE3D9D
Experience | Flash gane
Other assignment or wor k
Code and programming Experience | Flash game
FPG A | Comput er gr aphics pr ogr amming Per sonal Websit e | Design Por tf olio
FPGA game - Let’s Dance!! The game was coding in verilog, a hardware description language (HDL), burned into the chip of FPGA develope-platform. Just like usual dancing machine game, here, by using arrow keys on computer keyboard, up, down, left, and right to match 4 patterns, ↑ ↓ ← →, appearing on the screen. Game rate depends on scores player gets; the more scores the faster the speed and more often arrows appear. There is countdown showed on FPGA develop-platform LED; when end of countdown, game is over, too. Final scores will be showed on the screen See demo film on YouTube: http://youtu.be/cIoqoRW2BoM
OpenGL Programming _The Robot Creating a 3D model, and design a short animation.
FPGA game | CG openGL
Other assignment or wor k
Code and programming Experience | Flash game
FPG A | Comput er gr aphics pr ogr amming Per sonal Websit e | Design Por tf olio
OpenGL Programming _Texture Retargeting Loading an image as texture, and retargeting it over a user-defined quadric mesh or a read-in object file.
_3D Model Texture Retargeting
CG openGL
Other assignment or wor k
Code and programming Experience | Flash game
FPG A | Comput er gr aphics pr ogr amming Per sonal Websit e | Design Por tf olio
OpenGL Programming _Interactive Shape Manipulation When selecting and moving any vertex in the object file, vertices near selected one would be moved together. It is also able to assign some vertices which are invariant constraint to prevent them from deformation. 1. Select vertex expected to be deformed
2. Move the vertex to deform the model
3. Assign some vertices which are invariant constraint
CG openGL
Other assignment or wor k
Code and programming Experience | Flash game
FPG A | Comput er gr aphics pr ogr amming Per sonal Websit e | Design Por tf olio
Web design - KASH Work-Site
Each color cart of Ferris wheel is assigned to one item. When mouse rolls over or out, KASH wheel rotates to the destination or back. The website displays all my design work,
Go check it
http://code-name-kash.myweb.hinet.net
Design Work Online Portfolio
http://bit.ly/VTvEvf
KASH Work-Site | Design work
PORTFOLIO
K A I - S H A N H S U 2013