新聞中心

        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不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 册亨县| 徐水县| 青阳县| 龙游县| 佛冈县| 汽车| 扎赉特旗| 邓州市| 黄冈市| 永丰县| 都昌县| 新乡县| 浮山县| 赫章县| 庐江县| 泾阳县| 都昌县| 鄂温| 兴山县| 桓仁| 尚义县| 潢川县| 咸阳市| 高阳县| 宁波市| 青田县| 井研县| 涪陵区| 蒲城县| 达州市| 兴义市| 玉林市| 建水县| 西林县| 永定县| 柳林县| 武胜县| 淳安县| 安康市| 雷州市| 东乌珠穆沁旗|