新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > 一種嵌入式射頻光傳輸模塊實現(xiàn)方案

一種嵌入式射頻光傳輸模塊實現(xiàn)方案

作者: 時間:2011-09-22 來源:網絡 收藏
3.系統(tǒng)軟件設計

本文引用地址:http://butianyuan.cn/article/155696.htm

  3.1 系統(tǒng)軟件總體設計

  軟件總體功能主要分為四個部分:參數監(jiān)測、數據存儲、數據收發(fā)和性能控制。在主程序中采用兩個中斷:定時器中斷和串口中斷。定時器中斷實時采集參數數據,的實時監(jiān)測;串口中斷實時收發(fā)上位機和FSK數據,命令的處理和監(jiān)控數據的。

  主程序的結構如圖4所示,程序對上位機命令進行鑒權處理之后,根據通信協(xié)議解析處理命令,并執(zhí)行相應的操作。

  

  3.2 CC1000參數編程

  CCl000作為數傳芯片,需要進行參數配置以決定其工作性能,因而CC1000參數編程是一個重要的過程。通過可編程配置寄存器能改變以下主要參數:接收/發(fā)送模式、輸出功率、輸出頻率、FSK分頻、晶振參考頻率、速率和數據格式等。在本設計中,CC1000 采用曼徹斯特編碼方式,進行數據譯碼和同步工作,這通過設置CC1000 的MODEM1 寄存器的參數完成。在同步編碼方式中,曼徹斯特編碼不需要鎖定平均值濾波器,效率高。設計要求CC1000采用11.0592MHz晶振,接收本振頻率為433.766MHz,發(fā)射中心頻率為433.916MHz(連發(fā)“1”)、433.948MHz (連發(fā)“0”),調制頻偏為32KHz,載頻穩(wěn)定度為10KHz。根據以上參數,可通過Chipcon 公司提供的CC1000配置軟件SmartRF Studio來產生配置信息,這些配置信息將被輸入到單片機中。另外該軟件還可以提供輸入/輸出匹配電路和VCO電感所需的元件參數值。

  完成配置信息后,要對CC1000進行初始化,初始化主要完成對CC1000內部寄存器的設置。在初始化時需復位CC1000內部寄存器。當完成寄存器的設置后,為了避免芯片運行過程中頻率產生的漂移,應當校正CC1000內部VCO和PLL寄存器中的值。校正完成后,對MAIN寄存器進行設置,將CC1000輸出功率初始值設為0,功耗模式設置為低電平模式,以降低功耗。初始化流程如圖5所示。

  

CC1000初始化流程圖

  3.3 數據收發(fā)程序設計[5]

  數據的收發(fā)包括:單片機接收上位機數據,單片機向上位機發(fā)送數據,單片機接收CC1000數據和單片機向CC1000發(fā)送數據。這里僅討論單片機通過串口1接收中斷接收CC1000數據過程,這是整個數據收發(fā)程序設計中的難點。

  本設計中,單片機與CC1000之間采用曼徹斯特同步模式進行數據的接收和發(fā)送。在發(fā)射模式下(單片機向CC1000發(fā)送數據),PCLK提供發(fā)送數據時鐘信號,DIO用于數據輸入,CC1000 自動完成對數據的譯碼。在接收模式下,PCLK 提供接收數據時鐘信號,在DIO提供數據,CC1000自動完成數據編碼和同步工作。

  (1)數據幀結構

  在曼徹斯特同步模式下,數據幀由訓練碼、同步碼、前導碼和有效數據構成。在本設計中,訓練碼為連續(xù)交替出現(xiàn)的0 和1,共40個;同步碼為連續(xù)出現(xiàn)的8個0;前導碼為連續(xù)的8個1。當數據中出現(xiàn)符合前面所有格式數據時,接下來的數據就是要接收的有效數據。當數據符合幀格式時,單片機才認為該數據為合格數據,從而進行接收,這樣可以保證接收數據的準確性,降低傳輸誤碼率。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關推薦

技術專區(qū)

關閉