新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于S3C2410及嵌入式Linux的氫氣濃度的檢測系統的解決方案

        基于S3C2410及嵌入式Linux的氫氣濃度的檢測系統的解決方案

        作者: 時間:2010-12-12 來源:網絡 收藏

        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)兼容。

        本監測系統的核心處理器是三星公司推出的16/32位RISC處理器。它為手持設備和一般應用提供了低價格、低功耗、高性能的小型微控制器提供了豐富的內部設備:分開的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數據引腳用來發送和接收串行數據。nSS0作為SPI的片選信號,低電平有效。

        3 系統軟件結構設計

        本系統在上移植了韓國Mizi公司開發的Bootloader(VIVI)、-2.6.14內核以及cramfs根文件系統,構建了具有操作系統的軟件環境。

        3.1 外圍設備驅動程序設計

        設備驅動程序是為特定硬件提供給用戶程序的一組標準化接口,它隱藏了設備工作的細節。但對于特定的硬件設備來說,其對應的設備驅動程序不同,所以不同外部設備驅動程序的開發是軟件設計過程中必不可少的一部分。

        Linux常以模塊的形式加載設備,便于多個設備的協調工作也利于應用程序的開發和擴展。設備驅動在加載時首先需要調用入口函數ini- t_module()。該函數完成設備驅動的初始化工作,比如寄存器置位、結構體賦值等。其中最重要的一個工作就是向內核注冊該設備,字符設備調用函數 register_chrdev()完成注冊,塊設備調用函數reglster_blkdev()完成注冊。相應地,設備驅動在卸載時需要調用 cleanup_mod-ule()。該函數完成相應資源的回收、設備的注銷、釋放主設備號和設備文件名等。字符設備利用 unregister_chrdev()注銷設備,塊設備利用unregister_blkdev()注銷設備。

        Linux內核中,每個設備驅動程序都對應一個file_operations數據結構。在file_operations數據結構中,定義了一些與此設備相關的打開、關閉、讀/寫、控制等功能函數,當用戶進行系統調用時,將自動使用驅動程序中特定的函數來實現具體的操作。實際上,編寫設備驅動程序的過程也就是實現struct file_operations結構中的部分所需函數的過程。

        3.2 應用程序設計

        有了設備驅動程序提供底層硬件與應用程序的接口,Linux系統訪問底層設備就像訪問普通文件一樣。例如,打開設備使用系統調用open(),關閉設備使用系統調用close(),讀/寫設備使用系統調用read()和write()等。應用程序流程如圖4所示。首先系統上電復位,程序初始化,然后掃描鍵盤值,看是否有鍵值按下。若有,則進行按鍵處理并按輸入步驟設置程序;若無,則開中斷并啟動A/D轉換,等待轉換完成產生中斷,進入中斷服務程序。中斷服務程序流程如圖5所示。首先關閉中斷,讀取A/D采集數據,調用適用于緩變信號的中值濾波算法處理轉換結果,將連續采樣的5次采樣值按大小排序,取中間值為本次有效值。然后,存儲處理后的數據并送顯示器顯示。最后,從中斷返回到主程序中,再判斷當前數據是否超過設定的臨界值。若大于臨界值,作報警處理;否則就開中斷,等待下一次轉換結束。依此循環處理。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 广西| 蛟河市| 锡林浩特市| 佳木斯市| 深州市| 庆云县| 永胜县| 和龙市| 闸北区| 舞阳县| 蓝山县| 措美县| 炉霍县| 无极县| 浑源县| 巢湖市| 枣阳市| 如东县| 五原县| 安康市| 正安县| 巢湖市| 馆陶县| 大关县| 瑞金市| 吉木乃县| 罗定市| 开原市| 华阴市| 亳州市| 陆丰市| 土默特右旗| 平谷区| 枣阳市| 蒙自县| 邯郸市| 土默特左旗| 大方县| 彝良县| 凤庆县| 加查县|