基于ARM的音頻接口數(shù)據(jù)傳輸模塊設(shè)計(jì)
3.2 數(shù)據(jù)格式
本文引用地址:http://www.ex-cimer.com/article/236076.htm音頻輸入輸出線路上傳輸?shù)臄?shù)據(jù)信號(hào)采用差分曼徹斯特編碼,不進(jìn)行載波調(diào)制與解調(diào),直接在音頻線路上傳輸數(shù)據(jù)編碼信號(hào)。具體協(xié)議機(jī)制如下:
(1)基于音頻輸入輸出接口的數(shù)據(jù)傳輸方法是一種串行通訊方法,參考標(biāo)準(zhǔn)同步串行通訊協(xié)議,采用差分曼徹斯特編碼,其特點(diǎn)為每發(fā)送一位至少有一個(gè)跳變,以適應(yīng)在只能傳輸交流的音頻輸入輸出線路上傳輸數(shù)據(jù)。通信信號(hào)中使用中間時(shí)刻的跳變來表示發(fā)送的0或1,第一個(gè)跳變的如果是正跳變表示1,如果是負(fù)跳變表示0,之后的跳變與前一個(gè)跳變進(jìn)行差分,由相比較的結(jié)果決定是1或0,如果當(dāng)前位跳變方向與前一位的跳變方向相同,則表示為0,否則表示為1。采用差分曼徹斯特編碼,通信雙方的同步允許差半位時(shí)間,同步差半位時(shí)間內(nèi)接收的數(shù)據(jù)也不受影響。
(2)數(shù)據(jù)傳輸是雙工方式,從手機(jī)輸出數(shù)據(jù)的傳輸使用音頻輸出線路,進(jìn)入手機(jī)的數(shù)據(jù)傳輸使用音頻輸入線路,發(fā)送數(shù)據(jù)前讓總線空閑準(zhǔn)備,提示接收方做好接收準(zhǔn)備??偩€空閑準(zhǔn)備是用連續(xù)發(fā)送8位以上的0來表示。
(3)串行通訊采用幀起始標(biāo)志進(jìn)行同步,幀起始可以從任意一位開始,串行通訊的幀起始標(biāo)志采用與標(biāo)準(zhǔn)串口通信同步中一樣的標(biāo)識(shí),即連續(xù)發(fā)送6個(gè)1,即發(fā)送字符0x7e表示發(fā)送了幀起始標(biāo)志。
(4)串行通訊采用幀結(jié)束標(biāo)志表示本次數(shù)據(jù)發(fā)送結(jié)束,進(jìn)入總線空閑狀態(tài)。連續(xù)發(fā)送7個(gè)1,即發(fā)送字符0x7f表示發(fā)送了幀結(jié)束。串行通訊中,線路上傳輸?shù)臄?shù)據(jù)的單位為位,發(fā)送Byte時(shí)首先發(fā)送最高位,最后發(fā)送最低位,發(fā)送數(shù)據(jù)時(shí)字節(jié)間沒有間隔。發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)中很可能有連續(xù)的6個(gè)1,這與幀起始標(biāo)志和幀結(jié)束標(biāo)志相同,會(huì)造成通訊歧義。為消除歧義,規(guī)定當(dāng)發(fā)送數(shù)據(jù)時(shí),連續(xù)發(fā)送5個(gè)1后,必須發(fā)送一位無效的0,再接著發(fā)送其他數(shù)據(jù)。而接收到連續(xù)的5個(gè)1后,需要?jiǎng)h除接著收到的0。這連續(xù)的5個(gè)1并非一定在1個(gè)Byte中,例如,兩個(gè)Byte 0x0f和0xc0,每個(gè)Byte都沒有連續(xù)的5個(gè)1,但先發(fā)送0x0f后發(fā)送0xc0時(shí),就有連續(xù)的5個(gè)1了,需要?jiǎng)討B(tài)插入、刪除一位0。
(5)所述基于音頻輸入輸出接口的串行通訊中,編碼信息流一般以塊形式表示,一個(gè)信息流塊包含:塊頭和塊負(fù)載信息,線路上傳輸?shù)臄?shù)據(jù)幀格式如圖4所示。
?
?
4 結(jié)束語(yǔ)
根據(jù)嵌入式開發(fā)的一般原理,設(shè)計(jì)了數(shù)據(jù)傳輸模塊的結(jié)構(gòu),進(jìn)而完成數(shù)據(jù)傳輸模塊的硬件設(shè)計(jì),軟件設(shè)計(jì)中完成了主控系統(tǒng)、各相關(guān)電路的控制程序,采用差分曼徹斯特碼傳輸數(shù)據(jù),能滿足串行通信的同步要求,保障了數(shù)據(jù)傳輸?shù)姆€(wěn)定性。
模擬信號(hào)相關(guān)文章:什么是模擬信號(hào)
評(píng)論