基于音頻接口的數據傳輸模塊設計
1 數據傳輸模塊的結構設計
接口是智能終端系統(tǒng)與外界的連接電路,具有如下功能:(1)尋址能力。對送來的片選信號進行識別。(2)輸入/輸出功能。根據讀/寫信號決定當前進行的是輸入操作還是輸出操作。(3)數據轉換功能。并行數據與串行數據的轉換或兩種不同數據格式之間的轉換。(4)信號識別。識別就緒信號、忙信號等。(5)中斷管理。發(fā)出中斷請求信號、接收中斷響應信號、發(fā)送中斷類型碼的功能。(6)復位。接收復位信號,從而使接口本身以及所連的外設進行重新啟動。(7)可編程。用軟件來決定其工作方式,用軟件來設置有關的控制信號。(8)檢測信息。一些接口還可根據具體情況設置其檢測信息。
基于音頻輸入輸出接口的數據傳輸方法可以彌補數據接口不一致的缺點,并擴充音頻接口的應用。在實現傳輸音頻模擬信號的系統(tǒng)上交換數字信號,設計難點是如何通過模擬信號進行數據通信,需要專門設計一種嚴格的通信機制或通信協(xié)議,保證基于手機音頻輸入輸出接口的數據傳輸可靠。
如果把終端作為主導裝置,由其產生位時鐘信號、命令選擇信號和數據,但在綜合系統(tǒng)中,識別發(fā)送端比較困難。設計采用差分曼徹斯特編碼的數據傳輸協(xié)議,開發(fā)了可下載手機軟件,并為外設存儲設備設計了實現編解碼及傳輸協(xié)議的嵌入式系統(tǒng)。模塊結構示意如圖1所示。
外部裝置通過音頻輸入輸出接口與智能終端進行數據通信,數據信號在主控模塊中進行編解碼處理,再通過控制裝置讀取、寫入外部介質,并存儲數據。數據傳輸的具體方式中,外設裝置通過插入手機外置話筒音頻輸入接口或音頻線路輸入接口的連接線發(fā)送數據信號給手機,外設裝置通過插入手機的外置耳機音頻接口或音頻線路輸出接口的連接插線,接收手機發(fā)送出的數據信號。
2 數據傳輸模塊的硬件設計
外部數據傳輸裝置由濾波電路、主控模塊、編解碼電路、讀寫裝置組成。濾波電路分離固定頻率交流信號與數據信號;讀寫裝置包含一個標準曼徹斯特編解碼電路,讀寫解碼電路采用BS730Q讀寫專用解碼芯片,采用單軌道讀寫;實現的主控模塊電路選用低功耗的ARM微控制器,內部有可編程工作寄存器,可以方便地與主機通信,但要有自己的數據協(xié)議,主控模塊對雙向信號進行編解碼處理的過程是:(1)主控電路模塊將讀寫裝置傳入的曼徹斯特編碼數據信息解碼成國標數據,再編碼為差分曼徹斯特編碼數據信號,送到連接手機話筒接口或線路音頻輸入接口的傳輸線上。(2)主控電路模塊從連接手機耳機接口或線路音頻輸出接口的傳輸線上接收差分曼徹斯特編碼數據信號,解碼成國標數據,再編碼為標準曼徹斯特編碼數據信息,送入讀寫裝置。電路設計如圖2所示。
3 數據傳輸模塊的軟件設計
3.1 設計線程
通信雙方的手機終端采用軟件方法實現,結構如圖3所示。通過程序對從音頻輸入接口采集到的音頻信號進行差分曼徹斯特解碼,并送到音頻輸出接口,程序由3個線程構成,當數據傳輸服務程序在手機上啟動后形成3個線程:(1)創(chuàng)建一個音頻交流發(fā)送線程,負責設置輸出最大音量,生成固定頻率音頻交流信號并發(fā)送到音頻輸出線路上。(2)創(chuàng)建一個監(jiān)聽音頻輸入接口數據的線程,負責對從音頻輸入接口采集到的音頻信號,進行差分曼徹斯特解碼,解碼輸出數據存放在接收數據緩存,通過調用外部業(yè)務程序注冊的回調函數,通知外部業(yè)務程序注冊取得傳入的數據。(3)主線程循環(huán)等待發(fā)送數據緩存中的數據存入事件,當外部業(yè)務程序在數據要發(fā)送時,將要發(fā)送的數據放入共享的發(fā)送數據緩存時,數據存入事件發(fā)生,所述的主線程取到要發(fā)送的數據,進行差分曼徹斯特編碼,再用操作系統(tǒng)的音頻控制接口函數發(fā)送到音頻輸出接口。
評論