MSP430單片機在微型低功耗數據廣播接收機中的應用
計數器計數值CCR0 = 4.194MHZ/4.8KHZ = 873
如圖可見,當同步時鐘與碼元完全同步時,捕獲中斷后所讀到值CCR1,應等于CCR0的二分之一,即





在上式中的 △ 稱為數據速率的誤差容限值(datarate tolerance),如果設置的這個容限值太高(即:時鐘調整的步進值過大),就會導致同步時鐘的頻率不能穩定;反之這個容限值太小(即:時鐘調整的步進值過小),同步時鐘就不能跟蹤上碼元的變化;只有這個容限值合適,同步時鐘產生的采樣點就會逐漸收斂到接收碼元的中心位置,實現同步跟蹤。根據對噪聲和頻偏的估計,

在本接收機中的時鐘調整并不是捕獲到每一次跳變沿都要進行時鐘調整,根據接收信號頻偏大小,每8 bit 調整一次時鐘,即可實現同步時鐘的跟蹤。下表給出實驗中捕獲中斷讀出的CCR1的值。



375 | 385 | 407 | 421 | 440 | 426 | 445 | 438 |
440 | 433 | 446 | 436 | 439 | 448 | 432 | 430 |
421 | 434 | 447 | 437 | 420 | 405 | 412 | 419 |
426 | 429 | 433 | 438 | 439 | 420 | 431 | 435 |
439 | 429 | 439 | 422 | 436 | 439 | 426 | 435 |
從表中看出同步時鐘的采樣點逐漸收斂在碼元中心位置,并且-在以后的接收過程中,實現跟蹤。
(三)、小結
由于采樣時鐘恢復和同步捕捉跟蹤都需要響應中斷服務程序,占用CPU開銷。而CPU 的主要工作是進行每幀數據的解碼和發送。如果使用第一種同步方法,時鐘頻率4.8K*5,CPU時鐘為4.3MHz,即程序每運行41.6us、約20條程序語句就要響應一次定時器中斷服務程序,增大了運算量。如果提高CPU的工作頻率,會增大電流的消耗。所以在達到相同的采樣效果時,使用第二種同步方法。同理,為節約CPU開銷,并不需要捕捉每個數據跳變沿進行同步跟蹤,實驗證明每8比特數據捕捉一次跳變沿調整采樣時鐘,即可實現良好的同步跟蹤。
五、幀同步
在數字信息傳輸中,幀同步信號是一些特定的碼組,這種幀同步碼組通常是在某段時間集中插入信息碼流。考慮到時間位置的確定,要在建立了各碼元的正確時間關系后才有能實現,所以幀同步一般是在位同步的基礎上實現。
(一)、對幀同步系統的要求
1、 幀同步的捕捉(同步建立)時間要短,
2、 在一定的同步引入時間要求下,幀同步信號占用的碼組長度應越短越好。
3、 同步系統的工作要穩定可靠,一旦建立同步狀態后,系統不應因信道的正常誤碼而失步,即幀同步系統應具有一定的抗干擾能力,能識別假失步和避免偽同步。
數字信號在傳輸過程中總會出現誤碼而影響同步。一種是由信道噪聲等原因引起的隨機誤碼。此類誤碼造成幀同步碼的丟失往往是一種假失步現象。因此,一般規定幀同步信號丟失的時間超過一定限度時,才宣布幀同步態丟失,然后開始新的同步搜索(捕捉態)。這段時間稱作前方保護時間。然而,無論選用何種幀同步碼型,信息碼流中都有可能出現與幀同步碼圖案相同的碼組,即偽同步碼。所以也不能一經發現符合幀同步碼組的信號就進入同步態。只有當幀同步信號連續來了幾幀或一段時間后,同步系統才可發出指令進入同步態,這段時間成為后方保護時間。 (二)、幀同步的實現
本接收機使用集中插入特殊碼元的幀同步方法,集中插入就是把特殊的幀同步碼組集中插在一幀的特定位置(一般是一幀的開始)。接收機一旦檢測到這個特定碼組就確定了幀的起始位置,從而獲得幀同步。此種方法可以迅速糾正幀失步,即一旦幀失步,只要在下一幀同步碼就能恢復幀同步。
本接收機收到的數據幀格式為:
每192個信息字節加上2字節的幀同步碼組成一幀數據(如圖)。選用的幀同步碼為0x19D7。
接收端采用幀同步碼的滑動法來恢復幀同步信號。其實現方法為:在單片機里設置16bit移位寄存器、前后方保護計數器來完成前方保護時間和后方保護時間的計數,和幀同步狀態位SFLAG,標志系統的同步狀態。
當數據流進入移位寄存器,與幀同步碼(0x19d7)相比較,如果不同則移位寄存器高位移出低位移入下一比特再進行比較,同步系統從不斷接收輸入的數據流中捕獲到0x19d7碼組,相當于第N幀有同步碼,置SFLAG=1,后方保護時間計數器開始,如果經過192byte信息碼在第N+1幀處檢出同步碼,后方保護時間計數器加1,應在第N+2幀再一次檢出同步碼,后方保護時間計數器加1,系統進入幀同步狀態,進行數據定時接收。如果在第N+1幀處不能檢出同步碼或在第N+1幀處檢出同步碼而在第N+2幀處不能檢出同步碼,同步系統都要重新進入捕獲狀態。當系統處于同步狀態即SFLAG=1時,檢測出錯誤的幀同步碼,則打開前方保護時間計數器,如果連續丟失4(或5)個幀同步碼,計數器計滿,清SFLAG=0,標志系統進入捕捉狀態并停止數據定時接收。
在本接收機MSP430的程序中將前方保護時間計數器和后方保護時間計數器簡化為一個時間計數器,即SCOUNT。SCOUNT的初始值為0,每接收到一個正確的幀同步碼,SCOUNT加1,當連續接收到三個正確的幀同步碼時(SCOUNT=3)進入同步狀態SFLAG=1,如果在同步狀態中SCOUNT=4時,再檢測到正確的幀同步碼SCOUNT不再加1,也就是說SCOUNT的最大值為4;當檢測到一個錯誤的幀同步碼,SCOUNT減1,如果出現連續4個錯誤的幀同步碼,SCOUNT減為0,則從同步狀態進入捕獲狀態。
六、數據鏈路層
MSP430單片機進行位同步、幀同步后,將定時接收的數據經過以下處理經串口輸出。
1、去擾
偽隨機序列發生器的生成多項式為,每幀同步字后進行一次初始化, 加擾不包括幀同步字,數據由偽隨機序列加擾,可破壞數據中的連零,有利于解碼器位同步的鎖定,并分散數據信號的能量分布,使對主信號的干擾呈類似白噪音的背景噪音,提高多工數據對主信道干擾的主觀評價得分。
2、去交織和糾錯碼
每一子幀用縮短R-S(48,32)編碼,可糾8個符號(64Bit)的隨機錯誤。再進行卷積交織,這樣數據系統能糾正長達384Bit突發性誤碼。這樣對4.8Kbps 的抗突發性干擾時間分別為80ms 。
3、校驗
采用CCITT-16校驗碼,可檢出超出糾錯范圍而造成的誤碼,在每一子幀內驗出所有Q16位的錯誤,可檢出99.998%的17位突發性錯誤,99.997%的18位和大于18位的突發性錯誤,可以滿足大多數信息及計算機通信的要求。涉及金融數據及對數據有嚴格要求的信息,用戶可另加其它校驗。
4、 輸出數據幀形成
接收機根據自身的權限對于不同的業務數據,形成不同的輸出幀格式進行數據輸出。
七、測試結果
通過實際播出測試驗證,微型低功耗CPFSK數據廣播接收機的總體設計是成功的,實現了預期的設計目標,特別是較強的信道糾錯編碼極大地改善了接收能力。
2002年8月在北京月壇發射塔,發射頻率為91.5MHz調頻發射機上進行播出測試,分別使用信息0-信息7傳輸電子文本數據,實現用戶的有條件接收;2002年9月使用透明頁格式來傳輸差分GPS的改正數據,鏈路測試成功;該系統即將用在電子車站牌、路燈控制系統中。
評論