SEP4O2O在Linux下實(shí)現動(dòng)作控制MP3
引言
本文引用地址:http://dyxdggzs.com/article/150235.htm動(dòng)作識別是一個(gè)很熱門(mén)的話(huà)題。試想一下一個(gè)沒(méi)有任何觸摸、機械按鍵的MP3,只要你前后左右的晃動(dòng)就能進(jìn)行所有最基本的控制操作,既靈動(dòng)又時(shí)尚,這應當是一種全新的操作體驗。本文將探討如何設計這種通過(guò)動(dòng)作來(lái)進(jìn)行正常控制的MP3。
1硬件平臺
1.1SEP4020嵌入式處理器
本文所述驅動(dòng)程序基于SEP4020嵌入式微處理器。SEP4020是由東南大學(xué)國家專(zhuān)用集成電路系統工程技術(shù)研究中心設計的一款處理器,采用0.18μm標準CMOS的工藝設計,內嵌ASIXCORE(32位RISC內核,兼容ARM720T,帶8kB指令數據Cache和全功能MMU)。SEP4020芯片中集成各種功能,包括:
8/16位SRAM/NORFALSH接口,16位SDRAM接口
硬件NANDFLASH控制器,支持NANDFLASH自啟動(dòng),支持軟件/硬件ECC校驗
10M/100M自適應以太網(wǎng)MAC,支持RMII接口
64kByte高速片上SRAM
USBl.1Device,全速12Mb/s
支持I2S音頻接口
支持MMC/SD卡
LCD控制器,支持640×480×16位TFT彩屏和STN黑白、灰度屏
RTC,支持日歷功能/WatchDog,支持后備電源
10通道TIMER,支持捕獲、外部時(shí)鐘驅動(dòng)和MATCHOUT
4通道PWM,支持高速GPIO
4通道UART,均支持紅外
2通道SSI,支持SPI和Microwire協(xié)議
2通道SmartCard接口,兼容IS07816協(xié)議
支持最多97個(gè)GPIO,14個(gè)外部中斷
支持鏈表DMA傳輸和外部DMA傳輸
片上DPLL,支持多種功耗模式:IDLE、SLOW、NORMALSLEEP
1.2MC9S08QG8
本文中的動(dòng)作捕捉判斷部分由MC9S08QG8來(lái)控制完成。MC9S08QG8是Freescale公司的一款單片機,它的性能如下:
8通道、10位模數轉換器
3個(gè)通訊接口:SCI、SPI、IIC
4k或8k可重編程FLASH存儲器
內置在線(xiàn)仿真器(ICE)
1.3MMA7620
動(dòng)作控制MP3中動(dòng)作的感應是由MMA7620完成的。MMA7620是Freescale公司的一款三向加速度傳感器,它的性能如下:
3軸加速度感應和輸出,可同時(shí)測量三個(gè)坐標軸(x、y、z)的值并由三個(gè)通道輸出
4種靈敏度可供選擇
有休眠模式
2動(dòng)作控制MP3的設計
2.1動(dòng)作捕捉
一個(gè)動(dòng)作從開(kāi)始到結束一定會(huì )有加速度的產(chǎn)生,所以可以通過(guò)檢測伴隨著(zhù)動(dòng)作產(chǎn)生的加速度的大小和方向來(lái)判斷動(dòng)作。要測量加速度的大小就需要一個(gè)加速度傳感器,將所得到的加速度以模擬量的形式表示,然后將傳感器所得到的模擬量通過(guò)一個(gè)AD轉換模塊轉換成數字信號以方便后續計算。但是查找資料發(fā)現,如果單方面的使用一個(gè)AD變換器將從加速度傳感器中得到的電壓信號轉換成為數字信號并要求達到期望的精度將導致成本的大幅度提高,然而現有很多的單片機中已經(jīng)集成了AD轉換模塊,并且整個(gè)單片機的價(jià)格要低于單買(mǎi)單個(gè)三通道AD轉換芯片。更為可觀(guān)的是還可以利用單片機本身的處理功能對AD轉換所得到的數字信號進(jìn)行處理,預判動(dòng)作。而且單片機中集成了很多的通信協(xié)議,簡(jiǎn)單而健壯。綜合以上考慮,如果選用單片機代替AD轉換模塊就可以減輕核心板的負擔和整個(gè)項目的開(kāi)發(fā)難度。
加速度傳感器可以選擇使用Freescale公司的MMA7620三軸加速度傳感器。單片機可以選擇使用Freescale公司的MC9S08QG8單片機,它集成的八通道9bitAD轉換模塊正好和MMA7620的三通道輸出相匹配,體積也很小,適用于便攜設備。

圖l是手持部分的原理圖,包括單片機和傳感器PTA0、PTAl、PTA2:輸入:分別接三向加速度傳感器的x、y、z端口輸出,讀取加速度傳感器的x、y、z軸的模擬數據。
PTA3:輸出;接三向加速度傳感器的Sleep引腳用于使傳感器處于休眠狀態(tài)從而降低功耗和鎖定,避免運動(dòng)時(shí)的干擾。
PTTB0:輸入;作為串口接收腳用于接收從核心板傳來(lái)的命令。
PTFBl:輸出;作為串口發(fā)送腳用于向核心板發(fā)送由加速度傳感器所測的經(jīng)過(guò)單片機處理后所得到的動(dòng)作信息。
PTB6、PTB7:輸出;接加速度傳感器的gselect引腳從而控制加速度傳感器的靈敏度。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論