基于PSoC的飛艇智能無線溫度采集系統(tǒng)設(shè)計(jì)
1.3 PSoC系統(tǒng)內(nèi)部框架
由于各個溫度傳感器的數(shù)據(jù)都是通過I2C總線傳輸給PSoC,無線收發(fā)模塊則是通過SPI把各個節(jié)點(diǎn)的數(shù)據(jù)發(fā)送給PSoC,而PSoC又通過UATR把數(shù)據(jù)發(fā)送給飛控中心處理,所以在系統(tǒng)中要有SPI、I2C、UART才能夠接收和發(fā)送數(shù)據(jù),才能完成系統(tǒng)的整體設(shè)計(jì)。而PSoC內(nèi)部則包含了這三部分,只需要調(diào)用這些模塊再配置好參數(shù)就可以與外部接口模塊進(jìn)行數(shù)據(jù)的傳輸,如圖3所示。
1.4 PSoC內(nèi)部硬件搭建
PSoC Designer主要功能包括:在器件編輯器中進(jìn)行用戶模塊選擇、參數(shù)設(shè)置、引腳適配;在應(yīng)用程序編輯器中編輯程序、調(diào)試以及下載程序[2,6]。
在集成環(huán)境(IDE)PSoC Designer5.0的器件編輯器中,可實(shí)現(xiàn)硬件模塊的搭建。本系統(tǒng)只用到了PSoC芯片內(nèi)部的UATR、SPI、I2C模塊。系統(tǒng)內(nèi)部硬件搭建如圖4所示。
(1)創(chuàng)建工程:選擇應(yīng)用系統(tǒng)所要配置的芯片。
(2)用戶模塊配置:在器件編輯器中根據(jù)系統(tǒng)需求選擇合適的用戶模塊;將選擇的用戶模塊放置在合適的用戶模塊資源配置窗口中的基本單元DBB、DCB、ACB位置;對用戶模塊的參數(shù)設(shè)置、用戶模塊連接和引腳適配進(jìn)行配置等。
(3)用戶模塊連接:單擊UART的輸入/輸出部分,從下拉表框中選擇一條合適的行廣播線與之相連即可。還可以對用戶模塊的時鐘源進(jìn)行選擇和數(shù)字模塊的輸入使能標(biāo)志。
2 系統(tǒng)的軟件設(shè)計(jì)
I2C單元能實(shí)現(xiàn)完整的I2C主模式或從模式的串行通信功能,是PSoC與雙線I2C串行通信總線接口通過配置寄存器I2C_CFG來設(shè)置基本的操作模式、波特率以及選擇中斷;I2C_SC寄存器用于主設(shè)備和從設(shè)備控制數(shù)據(jù)字節(jié)流并跟蹤總線的狀態(tài);I2C_DR寄存器用來提供移位寄存器的讀/寫訪問;I2C_MSCR實(shí)現(xiàn)了I2C幀控制以及提供總線忙狀態(tài)。
SPI是串行外圍設(shè)備接口, 是一種高速同步串行通信接口。SPI接口通用的4條線是系統(tǒng)時鐘(Clock)、主機(jī)輸入/從機(jī)輸出線(MISO)、主機(jī)輸出/從機(jī)輸入線(MOSI)、輸出片選時鐘(SCLK)。SPI配置的寄存器有功能寄存器、輸入寄存器、輸出寄存器、控制寄存器CR0和數(shù)據(jù)緩沖寄存器DR0、DR1和DR2[2]。
在應(yīng)用程序編輯器中編輯源代碼,只要對UART、SPI和I2C初始化和調(diào)用函數(shù)就可以實(shí)現(xiàn)功能。軟件設(shè)計(jì)的總體流程圖如圖5所示。
UART用于控制計(jì)算機(jī)與串行設(shè)備的通信,作為一種低速通信協(xié)議,廣泛應(yīng)用于通信領(lǐng)域。UART的通信流程主要是:程序的初始化、開UART用戶模塊、開UART中斷、發(fā)送字符串、接收緩沖區(qū)滿標(biāo)志等。UART通信流程圖和UART中斷流程圖分別如圖6和圖7所示。
評論