新聞中心

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

        一種嵌入式射頻光傳輸模塊實現方案

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

        本文引用地址:http://www.104case.com/article/155696.htm

          3.1 系統軟件總體設計

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

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

          

          3.2 CC1000參數編程

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

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

          

        CC1000初始化流程圖

          3.3 數據收發程序設計[5]

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

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

          (1)數據幀結構

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

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


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 陇川县| 吉首市| 松原市| 唐河县| 青海省| 海安县| 峨眉山市| 荥阳市| 静宁县| 乐安县| 化州市| 赤水市| 山阳县| 新宾| 密云县| 清河县| 兴和县| 无锡市| 仪征市| 五寨县| 松原市| 商都县| 韩城市| 潍坊市| 文化| 金沙县| 肥东县| 新平| 海口市| 安吉县| 永善县| 云安县| 四子王旗| 武定县| 平泉县| 江阴市| 信丰县| 江北区| 鲁甸县| 香格里拉县| 汉川市|