基于S3C2410的氫氣濃度監(jiān)測系統設計
輸入電流I1進入放大器ICL7650的反向端,輸出電壓正比于輸入電流,電壓U1=I1R2。為防止產生高頻振蕩,在電阻R2上并接了電容C1。R1為ICL7650的限流保護電阻。經過I/V轉換后的電壓信號U1和R4上所分得的電壓一起,作為差動輸入進入儀用放大器AD620AN,它的放大倍數僅由電阻RG(即R6)決定,增益公式為G=(49.4 kΩ/R6)+1。由于R4上所得的電壓為一恒定值,而U1會隨著輸入信號的變化而變化,那么AD620AN的輸出端電壓信號U2即包含了一定的基底電壓和被測信號量,對其進行濾波采樣后,進行處理,可以從中分離出需要補償的基底電壓,得到實際的被測信號。由于基底電壓是緩變的直流信號,在一定的時間(min級)內為定值,因此可以忽略處理時間(ms級),保證實時動態(tài)補償。電路中的R3和R5與G2組成低通濾波電路,可以防止高頻噪聲進入放大器,減小噪聲干擾。
2.2 濾波電路
經過放大后的直流信號附有噪聲干擾,對于傳感器信號濾波最常用的是RC有源模擬濾波器,即用運算放大器和電阻、電容構成,具有結構簡單、調整方便、成本低的特點。因此采用由2個2階巴特沃斯有源濾波電路級聯構成的截止頻率為50 Hz的4階巴特沃斯低通濾波器。
2.3 ADC與微處理器接口電路
氫氣傳感器輸出信號頻率一般都遠小于1 kHz。根據香農采樣定理可知,采樣頻率至少要大于信號最高頻率的2倍。另外,為了滿足最小2 mg/m3的分辨率,這里采用美國ADI公司推出的一款高速低功耗串行12位8 通道A/D轉換器AD7888。它是單電源工作,電壓VDD范圍為2.7~5.25 V。AD7888有2.5 V的片內基準電壓,也可以使用外部基準電壓,范圍從1.2 V到VDD。模擬輸入電壓從O到VREF,采樣頻率可高達125 kHz,可與多種串行接口(SPI/QSPI/MICROWIRE/DSP)兼容。
本監(jiān)測系統的核心處理器是三星公司推出的16/32位RISC處理器S3C2410。它為手持設備和一般應用提供了低價格、低功耗、高性能的小型微控制器解決方案。S3C2410提供了豐富的內部設備:分開的16KB的指令Cache和16 KB的數據Cache,MMU虛擬存儲器管理,LCD控制器,支持NAND Flash系統引導,系統管理器,3通道UART,4通道的DMA,4通道PWM定時器,I/O端口,RTC,8通道10位ADC和觸摸屏接口,I2C總線接口,USB主從機,USB設備,SD主卡和MMC卡接口,2通道的SPI以及內部PLL時鐘倍頻器等。
該系統利用SPI實現A/D轉換器與ARM處理器的數據傳輸,其接口電路如圖3所示。SPlCLK0為SPI串行時鐘信號,SPIMISO0和SPIMOSI0數
據引腳用來發(fā)送和接收串行數據。nSS0作為SPI的片選信號,低電平有效。本文引用地址:http://m.butianyuan.cn/article/195385.htm
3 系統軟件結構設計
本系統在S3C2410上移植了韓國Mizi公司開發(fā)的Bootloader(VIVI)、嵌入式Linux-2.6.14內核以及cramfs根文件系統,構建了具有嵌入式Linux操作系統的軟件環(huán)境。
3.1 外圍設備驅動程序設計
Linux設備驅動程序是為特定硬件提供給用戶程序的一組標準化接口,它隱藏了設備工作的細節(jié)。但對于特定的硬件設備來說,其對應的設備驅動程序不同,所以不同外部設備驅動程序的開發(fā)是嵌入式軟件設計過程中必不可少的一部分。
Linux常以模塊的形式加載設備,便于多個設備的協調工作也利于應用程序的開發(fā)和擴展。設備驅動在加載時首先需要調用入口函數ini-t_module()。該函數完成設備驅動的初始化工作,比如寄存器置位、結構體賦值等。其中最重要的一個工作就是向內核注冊該設備,字符設備調用函數register_chrdev()完成注冊,塊設備調用函數reglster_blkdev()完成注冊。相應地,設備驅動在卸載時需要調用cleanup_mod-ule()。該函數完成相應資源的回收、設備的注銷、釋放主設備號和設備文件名等。字符設備利用unregister_chrdev()注銷設備,塊設備利用unregister_blkdev()注銷設備。
評論