基于PIC的無線數(shù)據(jù)傳輸發(fā)射機設計
摘要:以PIC單片機和CC1000為核心器件,設計并實現(xiàn)無線數(shù)據(jù)傳輸發(fā)射機;介紹PIC16C73芯片和CC1000芯片的性能,詳細討論發(fā)射機的硬件和軟件系統(tǒng)設計并予以實現(xiàn)。 關(guān)鍵詞:無線數(shù)據(jù) 傳輸發(fā)射機 PIC CC1000 本文介紹以PIC16C73和CC1000為基本部件,設計并實現(xiàn)無線數(shù)據(jù)傳輸發(fā)射機的過程。 1 PIC16C73及CC1000簡介 PIC16C73是Microchip公司生產(chǎn)的一種高性價比的8位嵌入式微控制器。 2 系統(tǒng)設計 本無線數(shù)據(jù)傳輸發(fā)射機框圖如圖1所示。 圖中,PIC16C73接收數(shù)字或模擬信號,經(jīng)過緩存、組幀后,將數(shù)據(jù)傳送到射頻發(fā)射機,由CC1000實現(xiàn)FSK調(diào)制后發(fā)射出去。 本設計中PIC16C73的振蕩周期為4MHz,指令周期為1μs。CC1000工作在發(fā)射狀態(tài),發(fā)射頻率306.874457MHz,頻偏64kHz,速率7638Kbps,發(fā)射功率10dBm。發(fā)射數(shù)據(jù)采用自定義幀格式,其格式為: 4字節(jié)位同步字—0AAH,0AAH,0AAH,0AAH; 2字節(jié)幀同步字(3位0加13位巴克碼)—1FH,35H; 1字節(jié)地址或命令; 50字節(jié)數(shù)據(jù)。 上述57字節(jié)組成一幀,每兩幀之間間隔為8.25ms。 3 硬件設計 單片機PCI16C73與CC1000的連接如圖2所示。 4 軟件設計 4.1 總體流程圖 軟件采用模塊化程序設計方法,圖5是總體流程。 初始化是一項十分重要的工作,需要分別對PIC16C73和CC1000兩個芯片進行初始化。由于本設計中要完成PC機與PIC之間的異步通信和PIC的模/數(shù)據(jù)換功能,所以除了PIC16C73的各個PORT端口外,還應對串行通信接口SCI部件和A/D轉(zhuǎn)換部件等進行初始化。在單片機初始化完成后,通過它對CC1000進行初始化,使其工作在發(fā)射模式,其流程如圖6所示。 4.3 中斷服務子程序設計 PIC16C73有多達11種中斷源,本設計使用了其中的SCI異步接收中斷和A/D轉(zhuǎn)換完成中斷。初始化工作完成后,當單片機通過SCI接收完一字節(jié)數(shù)據(jù)后就會產(chǎn)生SCI接收中斷,另外,當單片機完成一次A/D后也會產(chǎn)生中斷。在產(chǎn)品中斷后,程序即進入中斷服務子程序,要完成數(shù)據(jù)的緩存、緩存管理及組幀、數(shù)據(jù)傳送工作。 編寫的程序經(jīng)過調(diào)試,通過編譯生成機器碼,將其寫入PIC,再將PIC嵌入發(fā)射機電路,連接正確后,經(jīng)過調(diào)試達到了無線發(fā)射機的功效。 |