當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]動作識別是一個很熱門的話題。蘋果公司繼推出具有轟動效應(yīng)的多點(diǎn)觸控技術(shù)后又籌備申請自己的動作識別專利。動作的識別簡單的說就是利用加速度傳感器,檢測在空間上的速度變化,通過算法,提取動作。動作識別在很多方

動作識別是一個很熱門的話題。蘋果公司繼推出具有轟動效應(yīng)的多點(diǎn)觸控技術(shù)后又籌備申請自己的動作識別專利。動作的識別簡單的說就是利用加速度傳感器,檢測在空間上的速度變化,通過算法,提取動作。動作識別在很多方面都有應(yīng)用,比如Wii、手機(jī)感應(yīng)游戲、四槳飛行器等,但是目前很少甚至沒有將其用在 MP3控制上的。當(dāng)今的電子產(chǎn)品的一大潮流就是用動作控制。試想一下一個沒有任何觸摸、機(jī)械按鍵的MP3,只要你前后左右的晃動就能進(jìn)行所有最基本的控制操作,既靈動又時尚,這應(yīng)當(dāng)是一種全新的操作體驗(yàn)。本文將探討如何設(shè)計這種通過動作來進(jìn)行正??刂频腗P3。

1 硬件平臺

1.1 SEP4020嵌入式處理器

本文所述驅(qū)動程序基于SEP4020嵌入式微處理器。SEP4020是由東南大學(xué)國家專用集成電路系統(tǒng)工程技術(shù)研究中心設(shè)計的一款處理器,采用 0.18μm標(biāo)準(zhǔn)CMOS的工藝設(shè)計,內(nèi)嵌ASIXCORE(32位RISC內(nèi)核,兼容ARM720T,帶8kB指令數(shù)據(jù)Cache和全功能MMU)。 SEP4020芯片中集成各種功能,包括:

8/16位SRAM/NORFALSH接口,16位SDRAM接口
硬件NANDFLASH控制器,支持NANDFLASH自啟動,支持軟件/硬件ECC校驗(yàn)
10M/100M自適應(yīng)以太網(wǎng)MAC,支持RMII接口
64kByte高速片上SRAM
USBl.1Device,全速12Mb/s
支持I2S音頻接口
支持MMC/SD卡
LCD控制器,支持640×480×16位TFT彩屏和STN黑白、灰度屏
RTC,支持日歷功能/WatchDog,支持后備電源
10通道TIMER,支持捕獲、外部時鐘驅(qū)動和MATCHOUT
4通道PWM,支持高速GPIO
4通道UART,均支持紅外
2通道SSI,支持SPI和Microwire協(xié)議
2通道SmartCard接口,兼容IS07816協(xié)議
支持最多97個GPIO,14個外部中斷
支持鏈表DMA傳輸和外部DMA傳輸
片上DPLL,支持多種功耗模式:IDLE、SLOW、NORMALSLEEP

1.2MC9S08QG8

本文中的動作捕捉判斷部分由MC9S08QG8來控制完成。MC9S08QG8是Freescale公司的一款單片機(jī),它的性能如下:

8通道、10位模數(shù)轉(zhuǎn)換器
3個通訊接口:SCI、SPI、IIC
4k或8k可重編程FLASH存儲器
內(nèi)置在線仿真器(ICE)

1.3MMA7620

動作控制MP3中動作的感應(yīng)是由MMA7620完成的。MMA7620是Freescale公司的一款三向加速度傳感器,它的性能如下:

3軸加速度感應(yīng)和輸出,可同時測量三個坐標(biāo)軸(x、y、z)的值并由三個通道輸出
4種靈敏度可供選擇
有休眠模式

2 動作控制MP3的設(shè)計

2.1動作捕捉

一個動作從開始到結(jié)束一定會有加速度的產(chǎn)生,所以可以通過檢測伴隨著動作產(chǎn)生的加速度的大小和方向來判斷動作。要測量加速度的大小就需要一個加速度傳感器,將所得到的加速度以模擬量的形式表示,然后將傳感器所得到的模擬量通過一個AD轉(zhuǎn)換模塊轉(zhuǎn)換成數(shù)字信號以方便后續(xù)計算。但是查找資料發(fā)現(xiàn),如果單方面的使用一個AD變換器將從加速度傳感器中得到的電壓信號轉(zhuǎn)換成為數(shù)字信號并要求達(dá)到期望的精度將導(dǎo)致成本的大幅度提高,然而現(xiàn)有很多的單片機(jī)中已經(jīng)集成了AD轉(zhuǎn)換模塊,并且整個單片機(jī)的價格要低于單買單個三通道AD轉(zhuǎn)換芯片。更為可觀的是還可以利用單片機(jī)本身的處理功能對AD轉(zhuǎn)換所得到的數(shù)字信號進(jìn)行處理,預(yù)判動作。而且單片機(jī)中集成了很多的通信協(xié)議,簡單而健壯。綜合以上考慮,如果選用單片機(jī)代替AD轉(zhuǎn)換模塊就可以減輕核心板的負(fù)擔(dān)和整個項(xiàng)目的開發(fā)難度。

加速度傳感器可以選擇使用Freescale公司的MMA7620三軸加速度傳感器。單片機(jī)可以選擇使用Freescale公司的MC9S08QG8 單片機(jī),它集成的八通道9bitAD轉(zhuǎn)換模塊正好和MMA7620的三通道輸出相匹配,體積也很小,適用于便攜設(shè)備。

圖1是手持部分的原理圖,包括單片機(jī)和傳感器PTA0、PTAl、PTA2:輸入:分別接三向加速度傳感器的x、y、z端口輸出,讀取加速度傳感器的 x、y、z軸的模擬數(shù)據(jù)。



PTA3:輸出;接三向加速度傳感器的Sleep引腳用于使傳感器處于休眠狀態(tài)從而降低功耗和鎖定,避免運(yùn)動時的干擾。
PTTB0:輸入;作為串口接收腳用于接收從核心板傳來的命令。
PTFBl:輸出;作為串口發(fā)送腳用于向核心板發(fā)送由加速度傳感器所測的經(jīng)過單片機(jī)處理后所得到的動作信息。
PTB6、PTB7:輸出;接加速度傳感器的gselect引腳從而控制加速度傳感器的靈敏度。

2.2動作判斷

利用Freescale公司的FreeMASTER軟件,可以很方便地進(jìn)行程序在線調(diào)試,查看程序所有全局變量,具體軟件和使用方法請查詢 Frees-cfle管方網(wǎng)站。以下得到的數(shù)據(jù)為使用FreeMASTER欺件,以時間和AD轉(zhuǎn)換值為坐標(biāo)繪圖得到。

每次每個方向采樣20個數(shù)據(jù),由于第一個數(shù)據(jù)的可靠性比較大,所以采用每組數(shù)據(jù)的第一個數(shù)據(jù)作為比較依據(jù)。經(jīng)過多次測試,當(dāng)x方向的數(shù)值小于80時為右轉(zhuǎn)動作,x的方向的數(shù)值大于170時為左轉(zhuǎn)動作,y方向的數(shù)值小于70時為向上抬的動作,y方向的數(shù)值大于160時為向下壓的動作。雖然以上數(shù)據(jù)能表示動作,但人的動作時間相對單片機(jī)處理分析速度差別還是太大。為了解決這個問題,使單片機(jī)和動作同步,可以把前兩次的動作記錄下來,根據(jù)前兩次的動作對當(dāng)前動作進(jìn)行過濾:如果連續(xù)幾個相同的動作,就判斷為一次動作,不相同則切換。動作的切換必然帶有前后動作的變化,記憶之前的動作就可以判斷出有無動作切換。這樣的動作識別方法比較簡單且容易實(shí)現(xiàn),如果要實(shí)現(xiàn)更為精確的識別,則需要對算法進(jìn)一步優(yōu)化。圖2為右搖時AD轉(zhuǎn)換器所得到的結(jié)果。圖3為前后左右擺動數(shù)據(jù)。



在判別動作后,通過串口通信協(xié)議,發(fā)送雙辦約定的動作ID,具體見表1



通過串口協(xié)議,核心板也可以對傳感器和單片機(jī)進(jìn)行一定的控制,包括傳感器靈敏度調(diào)節(jié),鎖定休眠功能,使得后期的測試開發(fā)更加的方便。

2.3MP3控制

Linux操作系統(tǒng)作為平臺,其良好的系統(tǒng)可定制、可移植性使得其在嵌入式領(lǐng)域占有重要的地位。Linux有很多好的進(jìn)程通信機(jī)制,如內(nèi)存共享、管道、多線程、信號等,這里選擇信號作為控制通信的橋梁。利用Linux內(nèi)部完整的串口驅(qū)動程序可以很輕松地通過在串口的軟中斷接收程序中發(fā)射信號給指定的程序,也就是播放器程序,然后播放器程序接收并判斷信號類型,給相應(yīng)控制全局變量賦與相應(yīng)的控制值,使得介入控制變得可能??刂剖褂玫氖遣シ牌髯詭У臋C(jī)制,使得更加地穩(wěn)定可靠。使用Madplay作為MP3播放軟件,其默認(rèn)的控制是通過終端鍵盤來實(shí)現(xiàn)的。在設(shè)計時為了達(dá)到用動作產(chǎn)生的信號量來控制播放,同時不去大量修改Madplay的程序源碼,可以通過截斷播放器與鍵盤的聯(lián)系,與串口連接上,這樣就可以基本不用修改上層的機(jī)制就能夠控制整個播放器的動作。

2.4MP3播放

MC9S08QG8與SEP4020之間通過串口來進(jìn)行通信。

基本的串口操作原則是先保存串口原始的參數(shù),然后再設(shè)置程序所需要的參數(shù),程序結(jié)束后恢復(fù)現(xiàn)場。串口一般操作如下:

串口操作需要的頭文件



串口軟中斷設(shè)置,填充SIGIO結(jié)構(gòu)體,分配相應(yīng)中斷函數(shù):



在操作系統(tǒng)中加入自動播放腳本,使得系統(tǒng)在開機(jī)時完成搜索MP3文件,建立播放列表,啟動Madplay播放器等操作。腳本代碼如下:



動作發(fā)生時MC9S08QG8向SEP4020發(fā)送一個動作信號,然后SEP4020中的Linux內(nèi)核就會發(fā)送一個SIGIO(串口信號)給各個用戶進(jìn)程。Madplay生程捕捉該信號,并且讀取串口上的消息,用以判斷動作的形式。在Madplay程序中需要加入兩個模塊。第一個模塊用于讀取串口上的消息,具體實(shí)現(xiàn)方法是打開并讀取串口設(shè)備文件/dev/ttySl來獲取消息,然后按照設(shè)定會從設(shè)備上讀到4種串口信號,對應(yīng)4個ASCII字符 “L,R,U,D”分別對應(yīng)四種不同的動作;第二個模塊是響應(yīng)信號的處理函數(shù),一旦Linux內(nèi)核接收到SIGIO串口信號,Madplay進(jìn)程就進(jìn)入軟中斷讀?。痙ev/ttySl上的串口消息。甫一判斷出動作,Madplay就用kill函數(shù)向本進(jìn)程發(fā)送相應(yīng)的信號來控制播放。
  
本文介紹了針對SEP4020處理器等硬件在Linux操作系統(tǒng)下的動作控制MP3的設(shè)計流程,為這種控制方式的MP3設(shè)計提供了一個范例。以下是一些改進(jìn)的建議:作為手持式設(shè)備,動作控制MP3對于能耗的要求比較高,所以設(shè)計時必須考慮多使用一些低功耗的器件替代高功耗的器件。動作控制的MP3在運(yùn)動中是受限制的,MP3的判斷會受到比較大的干擾。所以如果動作采樣方法和動作判斷算法難以有很大的改進(jìn),為方便繼續(xù)使用應(yīng)當(dāng)考慮給MP3加上其他的控制方式,暫時取代動作控制。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉