產(chǎn)品詳情
新安指紋門(mén)禁安裝:181 2994 9706
135 3826 1334 黃小姐
門(mén)禁控制功能、門(mén)禁定位功能和數(shù)據(jù)轉(zhuǎn)發(fā)功能
作為CC2530發(fā)送功率放大模塊,其支持電路如圖4-9所示。
AVDD_BIAS是電源輸入引腳;芯片的工作電壓與CC2530一致。
VDD_PA1、VDD_PA2以及AVDD_LNA分別為PA以及LNA的電感負(fù)載。
BIAS外接4.3k的偏置電阻,提供PA引腳與地之間偏置電流。
ANT為RF信號(hào)發(fā)送引腳。
1.5nf的電感和1pf的電容以及1nf的電容組成T型濾波電路,過(guò)濾高頻信號(hào),防止共軛干擾。
圖4-9CC2591最小電路3)天線模塊設(shè)計(jì)[49]2.4GHZ的天線有三種:片式天線、外接天線和PCB天線。
片式天線采用集成電路實(shí)現(xiàn),性能一般,靈活性差。
外接天線信號(hào)最好,但體積過(guò)大,不適合一些大小要求嚴(yán)格的應(yīng)用場(chǎng)合。
PCB天線靈活性最好,但對(duì)PCB設(shè)計(jì)要求較高。
本系統(tǒng)采用外接天線和PCB天線混用的方式,在信號(hào)要求高的場(chǎng)合使用外接天線,反之使用PCB天線。
外接天線技術(shù)比較成熟,在這里就不在贅述。
下面詳細(xì)分析本系統(tǒng)的PCB天線設(shè)計(jì)。
PCB天線的形狀有多種如圖4-10中a、b和c(只選擇了一部分)所示:(a)(b)(c)圖4-10PCB天線形狀圖45結(jié)合德州儀器公司的測(cè)試結(jié)果和自己試驗(yàn)與應(yīng)用的實(shí)際情況,本系統(tǒng)選擇第三種天線方式,具體電路如圖4-11所示:圖4-11ZigBee天線模塊雖然德州儀器官方給出了天線的標(biāo)準(zhǔn)尺寸,但在實(shí)際應(yīng)用中,PCB的層數(shù)、布局、覆銅的厚度以及板材參數(shù)均影響信號(hào)的質(zhì)量。
因此ZigBee天線模塊具體大小視不同情況而定。
4.3人員門(mén)禁系統(tǒng)軟件設(shè)計(jì)4.3.1門(mén)禁系統(tǒng)軟件架構(gòu)本系統(tǒng)的軟件架構(gòu)分為四層:應(yīng)用層、協(xié)議層、系統(tǒng)層和驅(qū)動(dòng)層如圖4-12所示。
應(yīng)用層主要解決三個(gè)功能:門(mén)禁控制功能、門(mén)禁定位功能和數(shù)據(jù)轉(zhuǎn)發(fā)功能。
本章主要研究門(mén)禁的控制功能和轉(zhuǎn)發(fā)功能,定位功能將在下一章車輛門(mén)禁系統(tǒng)實(shí)現(xiàn)中重點(diǎn)分析。
46圖4-12軟件架構(gòu)圖系統(tǒng)協(xié)議層由ZigBee協(xié)議、lwip協(xié)議以及CAN總線協(xié)議組成,這三個(gè)協(xié)議不同時(shí)出現(xiàn)在某一個(gè)設(shè)備上,有時(shí)是單獨(dú)的一個(gè),有時(shí)是兩個(gè)一起完成協(xié)議的互相轉(zhuǎn)化,詳見(jiàn)表4-1:鑒于門(mén)禁系統(tǒng)的功能需求及所選的ARM芯片,本系統(tǒng)沒(méi)有移植實(shí)時(shí)操作系統(tǒng)而是采用自己編寫(xiě)的實(shí)現(xiàn)一部分操作系統(tǒng)功能的前后臺(tái)系統(tǒng)。
最底層的驅(qū)動(dòng)層同樣包含三大塊:通信模塊驅(qū)動(dòng)、存儲(chǔ)模塊驅(qū)動(dòng)以及其它外圍設(shè)備的驅(qū)動(dòng)。
下面將從這四層架構(gòu)著手詳細(xì)分析軟件設(shè)計(jì)。
47表4-1設(shè)備與協(xié)議棧對(duì)照表設(shè)備名協(xié)議站名網(wǎng)絡(luò)控制器Lwip、can就地控制器ZigBee轉(zhuǎn)發(fā)節(jié)點(diǎn)Can、ZigBee定位節(jié)點(diǎn)ZigBee4.3.2門(mén)禁系統(tǒng)應(yīng)用層設(shè)計(jì)門(mén)禁系統(tǒng)的應(yīng)用層建立在自己設(shè)計(jì)的前后臺(tái)系統(tǒng)之上。
前后臺(tái)系統(tǒng)主要實(shí)現(xiàn)事件通知機(jī)制、事件緩存機(jī)制、中斷管理、時(shí)鐘和存儲(chǔ)管理。
主要函數(shù)如下:1)uint8OsalMsgSend(uint8task,uint8*msg):事件通知函數(shù)。
2)OsalMsgQueue(uint8*msgQueue,uint8*msg):事件隊(duì)列函數(shù)。
3)void*OsalMemAlloc(uint16size):存儲(chǔ)空間申請(qǐng)函數(shù)。
4)voidOsalMemFree(void*ptr):存儲(chǔ)空間釋放函數(shù)。
5)uint8OsalNvRead(uint16id,uint16offset,uint16len,void*buf):讀存儲(chǔ)空間函數(shù)。
6)OsalNvWrite(uint16id,uint16offset,uint16len,void*buf):存儲(chǔ)空間寫(xiě)函數(shù)。
7)uint8OsalStartTimer(uint8task_id,uint16event_id,uint16timeout_value):定時(shí)時(shí)鐘函數(shù)。
1)voidosalTimerUpdate(uint16updateTime):系統(tǒng)時(shí)間更新函數(shù)。

