摘要:本文根據實際需要,在實現無線數據傳輸系統基本功能的前提下,選用功耗較低的CC1120芯片作為無線收發單元。在分析CC1120功能特性并介紹嵌入式操作系統μC/OS—III的基礎上,闡述如何實現基于STM32F103ZE平臺的CC1120驅動程序。
引言
隨著頻率資源的日趨緊張,短距離無線通信按窄帶化趨勢發展。無線數傳模塊一般由微處理器和收發芯片組成,本文所設計的窄帶數傳模塊的微處理器采用了STM32F103ZE芯片,收發芯片選用了TI公司新推出的CC1120,CC1120通過SPI串行總線協議與MCU相連接。同時,采用了可移植、可植入ROM、可裁剪、搶占式的實時多任務操作系統μC/OS—III作為軟件平臺。
1 系統硬件電路
1.1 CC1120的內部結構
CC1120是TI公司專為經濟高效的無線系統在低功耗和低電壓操作下,實現數據傳輸而設計的一款完全集成的單芯片無線收發器。該芯片主要應用于ISM(工業、科學和醫療)以及SRD(短程設備)頻帶。CC1120的主要特性有:體積小,超低功耗,可配置數據速率(1.2~200kbps),可編程控制輸出功率(步長為0.5 dB,最高功率16 dBm),接收機靈敏度高(1.2 kbps數據速率下為123 dBm),還支持2FSK、2GFSK、4FSK、4GFSK、MSK、ASK、OOK及模擬FM多種調制方式等。
CC1120的內部結構框圖如圖1所示。CC1120具有一個低功耗IF接收機,低噪聲放大器(LNA)將接收到的RF、信號放大,并在求積分(I和Q)過程中被降壓轉換至中頻(IF)。在IF下,I/Q信號被ADC數字化。自動增益控制(AGC)、精確信道濾波和調制解調位/數據包同步均以數字方式完成。CC1120的發射器部分基于RF頻率直接合成,頻率合成器包括一個完全片上LC VCO和一個90°相位轉換器,用來在接收模式下向降壓轉換混頻器生成I和Q本振信號。一個4線SPI串行接口用于配置數據和緩沖區存取。數字基帶包括了對信道配置、數據包處理以及數據緩沖的支持。
1.2 CC1120的配置特性
配置寄存器的讀、寫操作時序如圖2所示。通過一個4線串行SPI兼容接口(SI、SO、SCLK和CSn)可對CC1120進行配置,該接口還可用于讀取和寫入緩沖數據。SPI接口上的所有數據傳輸均以最高位開始。
SPI接口上的所有事務均以一個報頭字節作為開始,該字節包含一個R/W位、一個突發存取位(B)以及一個6位地址(A5~A0),報頭字節幀格式如圖3所示。在SPI總線上傳輸數據期間,CSn引腳必須保持低電平,否則傳輸就會被取消。拉低CSn電平時,在開始傳輸該報頭字節以前,MCU必須等待,直到SO引腳變為低電平為止。這表明,芯片正在運行。除非芯片處在SLEEP或XOFF狀態,否則SO引腳總會在CSn變為低電平以后立即變為低電平。
CC1120的寄存器空間主要作為CC1120的頻率、數據速率、中頻等大部分參數的配置。而擴展寄存器大部分為芯片配置輔助測試寄存器(只讀),少部分為配置寄存器(可讀寫)。指令選通用于芯片狀態切換和沖刷RX/TXFIFO。128字節TX FIFO和128字節RX FIFO均通過0x3F地址進行存取。當R/W位為0時,則TX FIFO被存取;當R/W位為1時,則RX FIFO被存取。其中,TXFIFO為只寫,而RX FIFO為只讀。寄存器地址映射如圖4所示。