基于ARM的視頻安全監(jiān)控終端的設(shè)計(jì)與實(shí)現(xiàn)
本設(shè)計(jì)采用CS8900A擴(kuò)展網(wǎng)絡(luò)接口,它是CIRRUS LOGIC公司生產(chǎn)的16位以太網(wǎng)控制器,通過(guò)內(nèi)部寄存器的設(shè)置來(lái)適應(yīng)不同的應(yīng)用環(huán)境。S3C2410通過(guò)地址、數(shù)據(jù)、控制線以及片選信號(hào)線對(duì)CS8900A網(wǎng)絡(luò)芯片進(jìn)行控制和通信。CS8900A與S3C2410的連接如圖3所示,CS8900A由S3C2410的nGCS3信號(hào)選通,CS8900A的INTRQ0端用來(lái)產(chǎn)生中斷信號(hào),與S3C2410的16位數(shù)據(jù)總線相連,地址線使用了A[24:0]。
CS8900A以太網(wǎng)控制芯片通過(guò)DMA通道進(jìn)行數(shù)據(jù)的傳輸。首先設(shè)置好傳輸控制和傳輸?shù)刂芳拇嫫鞯膮?shù),依次從指定的數(shù)據(jù)存儲(chǔ)區(qū)域讀取數(shù)據(jù),送入內(nèi)部發(fā)送緩沖器中,用MAC對(duì)數(shù)據(jù)進(jìn)行封裝發(fā)送。一組數(shù)據(jù)發(fā)送完后,請(qǐng)求DMA中斷,由S3C2410進(jìn)行處理。
RS-232接口與PC機(jī)串行總線相連,通過(guò)PC機(jī)對(duì)嵌入式系統(tǒng)進(jìn)行相關(guān)信息顯示和控制。而JTAG接口主要是對(duì)系統(tǒng)進(jìn)行調(diào)試,還可將程序燒寫到Flash中。
系統(tǒng)的軟件設(shè)計(jì)
視頻監(jiān)控終端的軟件設(shè)計(jì)主要完成兩方面的工作:
?。?)在硬件上搭建一個(gè)軟件平臺(tái),搭建嵌入式Linux軟件開(kāi)發(fā)平臺(tái)需要完成UBOOT移植、嵌入式Linux操作系統(tǒng)內(nèi)核移植以及嵌入式Linux操作系統(tǒng)的設(shè)備驅(qū)動(dòng)程序的開(kāi)發(fā)等工作。
?。?)在軟件平臺(tái)的基礎(chǔ)上,開(kāi)發(fā)系統(tǒng)的應(yīng)用程序。借助交叉編譯工具,開(kāi)發(fā)視頻監(jiān)控終端上運(yùn)行的采集、壓縮、傳輸程序。
構(gòu)建基于S3C2410的Linux平臺(tái)
Linux具有許多優(yōu)點(diǎn),如開(kāi)放源碼;功能強(qiáng)大的內(nèi)核,支持多用戶、多線程、多進(jìn)程、實(shí)時(shí)性好、功能強(qiáng)大穩(wěn)定;大小功能可定制;支持多種體系結(jié)構(gòu)。
構(gòu)建嵌入式Linux開(kāi)發(fā)平臺(tái)需要先構(gòu)建交叉編譯環(huán)境,如圖4所示。一套完整的交叉編譯環(huán)境包括主機(jī)和目標(biāo)機(jī)。在開(kāi)發(fā)中主機(jī)是一臺(tái)裝有紅帽公司的FedoreCore 2操作系統(tǒng)的PC機(jī),目標(biāo)機(jī)是基于S3C2410的視頻監(jiān)控終端。選用的交叉編譯器是GCC3.3.4 for ARM版,嵌入式Linux內(nèi)核源代碼包版本號(hào)為2.6.8RC。
2.6.8RC版的Linux內(nèi)核源代碼包中包含了所有的功能模塊。系統(tǒng)中只用到了其中的一部分。因此,編譯內(nèi)核之前首先要配置內(nèi)核,裁減掉冗余的功能模塊,經(jīng)過(guò)定制的內(nèi)核才符合系統(tǒng)設(shè)計(jì)。具體步驟如下:
評(píng)論