技術(shù)頻道

      嵌入式數(shù)字存儲示波器


      1數(shù)字存儲示波器的總體系統(tǒng)設(shè)計

        本文介紹的數(shù)字存儲示波器是構(gòu)建于嵌入式uCLinux操作系統(tǒng)平臺之上,采用三星S3C44BOX 芯片作為處理器,集數(shù)據(jù)采集、顯示、打印、存儲和分析等多項功能于一體的40MHz智能測 試儀器。系統(tǒng)框圖如圖1所示。
      1.1S3C44BOX
      微處理器簡介
        Samsung S3C44BOX是三星公司專為手持設(shè)備和一般應(yīng)用提供的高性價比和高性能的微處理器 ,它使用ARM7TDMI核,工作在66MHz。為了降低系統(tǒng)總成本和減少外圍器件,這款芯片中還 集成了下列部件:8KB Cache、外部存儲器控制器、LCD控制器、4個DMA通道、2通道UART、1 個多主IIC總線控制器、1個IIS(InterIC Sound)總線控制器,5通道PWM定時器及1個內(nèi)部 定時器、71個通用I/O口、8個外部中斷源、實時時鐘、8通道12位ADC等。
      1.2A/D轉(zhuǎn)換采集系統(tǒng)
        由于數(shù)字存儲示波器工作在40MHz,而S3C44BOX處理器內(nèi)帶ADC的工作頻率最高只能達(dá)到50kH z,所以必須單獨(dú)設(shè)計一個A/D轉(zhuǎn)換采集系統(tǒng),其組成如圖2所示。

        其中ADC采用Philips公司的TDA8768芯片,其性能為:12位高速A/D,采樣頻率為70MHz,-3d B的帶寬可以達(dá)到245MHz。“放大增益選擇”和“采樣頻率選擇”分別控制系統(tǒng)中的放大濾 波模塊與ADC中的時鐘輸入端,以滿足儀器的增益范圍(100mV/div~5V/div)和時基范圍(200 ns/div~50ms/div)的要求,以上兩者均為1-2-5步進(jìn)方式,采樣頻率與放大幅度通過觸摸屏 設(shè)置。
      1.3系統(tǒng)接口設(shè)計
        根據(jù)數(shù)字存儲示波器的隨機(jī)采樣原理得知:示波器每次觸發(fā)以后,A/D轉(zhuǎn)換器完成一組采樣 序列,并將其存入高速RAM中;稍后,由微處理器進(jìn)行處理,顯示在液晶屏幕上,這就是一 次數(shù)據(jù)獲得過程。系統(tǒng)接口具體方案如圖3所示。使用微處理器S3C44BOX的I/O端口來讀取數(shù) 據(jù)并發(fā)出控制信號。其中“FIFO RAM”為先進(jìn)先出存儲器,采用IDT公司的IDT72V02型號, 最高轉(zhuǎn)換速率為15ns,1024×9bit存儲空間。
        系統(tǒng)利用S3C44BOX微處理器I/O端口中的F端口實現(xiàn)數(shù)據(jù)的輸入輸出,利用D端口和G端口來進(jìn) 行控制。采集的信號經(jīng)過A/D變換后首先進(jìn)入FIFO存儲器,當(dāng)從FIFO中每讀出一個數(shù)據(jù)后需 要再向其發(fā)送一個讀數(shù)脈沖信號,這樣才能保證讀出下一個單元內(nèi)存儲的數(shù)據(jù),讀數(shù)脈沖由 G端口的第四位PG4給出。數(shù)據(jù)從FIFO存儲器中被讀出后經(jīng)過數(shù)字鎖存器進(jìn)入端口F的數(shù)據(jù)寄 存器PFDATA中,數(shù)字鎖存信號由D端口的第四位PD4給出。當(dāng)處理器讀周期到來時,數(shù)據(jù)由端 口被讀入內(nèi)存。每當(dāng)數(shù)據(jù)采滿1K時,F(xiàn)IFO存儲器會產(chǎn)生一個中斷信號,該中斷信號由D端口 的PD6輸入給微處理器。
      2系統(tǒng)軟件結(jié)構(gòu)
        
      基于嵌入式數(shù)字存儲示波器系統(tǒng)軟件主要分為數(shù)據(jù)采集和存儲模塊、波形顯示和刷新模塊以 及觸摸屏控制模塊3個部分。系統(tǒng)軟件由uCLinux下的C語言編程實現(xiàn)。
      2.1數(shù)據(jù)采集和存儲模塊
        數(shù)據(jù)采集存儲模塊的流程如圖4所示。
        CPU首先向A/D數(shù)據(jù)采集系統(tǒng)發(fā)送所要求的頻率和幅值信號,然后發(fā)出復(fù)位信號采集系統(tǒng)開始采集數(shù)據(jù)。采集到的數(shù)據(jù)經(jīng)過FIFO存儲器,由F口讀入內(nèi)存并存入指 定 數(shù)據(jù)緩沖區(qū)之中。在存儲過程中,采用了雙緩沖區(qū)機(jī)制,數(shù)據(jù)按1K大小分塊,相鄰的兩塊數(shù) 據(jù)交替存放在內(nèi)存的不同的區(qū)域中,在每讀入1K個數(shù)據(jù)之后,內(nèi)存中都存有連續(xù)的2K個采樣 數(shù)據(jù),這樣有助于以后對數(shù)據(jù)的處理和顯示。
      2.2波形顯示和刷新模塊
        系統(tǒng)使用一塊大小為240×320像素的256彩色液晶顯示屏,其平面尺寸為93mm×75mm(長 ×寬)。微處理器S3C44BOX為LCD的控制提供了良好的支持,其實現(xiàn)主要通過微處理器中的LC D控制器來完成。波形的顯示主要通過將數(shù)字量轉(zhuǎn)換成液晶顯示屏上點(diǎn)的坐標(biāo)來實現(xiàn),存放 在內(nèi)存中的數(shù)據(jù)經(jīng)過坐標(biāo)變換就可以在LCD上進(jìn)行顯示。因為LCD的坐標(biāo)系與顯示波形 時所用的坐標(biāo)系y軸方向相反,且需要將波形顯示在屏幕的特定區(qū)域內(nèi),所以在顯示之前要 對數(shù)據(jù)進(jìn)行歸一化處理。從端口讀入數(shù)據(jù)的范圍為0~0xff,0點(diǎn)對應(yīng)于LCD上y軸坐標(biāo)的190 ,0xff對應(yīng)于LCD上y軸坐標(biāo)的50,則0x7f對應(yīng)于LCD上坐標(biāo)為120的點(diǎn),即屏幕顯示的零點(diǎn), 相應(yīng)的轉(zhuǎn)化公式為:Y=120-(data-0x7f)×0x7f,其中:data為從端口讀 入的數(shù)據(jù);Y是data在LCD上顯示的y坐標(biāo)。LCD一屏可以顯示300個數(shù)據(jù)點(diǎn) ,點(diǎn)與點(diǎn)之間用矢量法直線相連。
      2.3觸摸屏控制模塊
        觸摸屏是附著在LCD表面的一層透明薄膜,它將壓力轉(zhuǎn)換成模擬電信號,再經(jīng)過模 數(shù)轉(zhuǎn)換送給系統(tǒng)。本系統(tǒng)觸摸屏使用FM7843芯片控制。FM7843是4線電阻觸摸屏轉(zhuǎn)換接口芯 片。它是一款具有同步串行接口的12位取樣模數(shù)轉(zhuǎn)換器。在125kHz吞吐速率和2.7V電 壓下的功耗為750μW,而在關(guān)閉模式下的功耗僅為0.5μW。圖5為觸摸屏工作流程示 意圖。觸摸屏通過中斷方式完成其功能,從執(zhí)行流程上來說,首先在Touch Panelinit() 中完成兩件事:注冊驅(qū)動程序和注冊中斷。對于觸摸屏設(shè)備,主設(shè)備號為58,設(shè)備名為“FM 7843”,驅(qū)動程序子函數(shù)集為Touch Panelfops。Touch Panelfops中指定了read,sele ct,open,telease四個操作子函數(shù)的地址,依次為:Read Touch Panel,Touch Panel Sel ect,Open Touch Panel和Close TouchPanel。當(dāng)用戶進(jìn)程調(diào)用open()打開/dev/FM7843時 ,內(nèi)核調(diào)用Open Touch Panel();用戶進(jìn)程調(diào)用read()讀該設(shè)備時,內(nèi)核調(diào)用Read Touch P anel()。requestirq()注冊中斷處理,中斷為TOUCHPANELIRQNUM,中斷處理程序為To uch Panel Interrupt(),說明為“TouchPanel”。當(dāng)觸摸屏被觸摸有數(shù)據(jù)來到時,中斷 被觸發(fā),調(diào)用中斷處理程序,準(zhǔn)備處理數(shù)據(jù)。
        該系統(tǒng)中觸摸屏主要用于獲取用戶的控制信息, 在LCD的上方顯示有若干個觸摸屏按鈕,例 如其中有幅值增加、幅值減小、頻率增加和頻率減小等。幅值和頻率的選定值存放在指定內(nèi) 存單元中,當(dāng)檢測到觸摸點(diǎn)的坐標(biāo)在相應(yīng)區(qū)域中后,系統(tǒng)就會根據(jù)程序預(yù)先設(shè)定來設(shè)定采樣 頻率和幅值,這些在前、后臺任務(wù)之間進(jìn)行同步和通信。任務(wù)之間的通信是通過共享指定的 物理內(nèi)存單元來實現(xiàn)的,不同任務(wù)之間對共享內(nèi)存單元的訪問是互斥的。uCLinux的設(shè)計針 對沒有MMU(內(nèi)存管理單元模塊)的處理器,不能使用虛擬內(nèi)存管理技術(shù)。uCLinux系統(tǒng)對于內(nèi) 存的訪問是直接的,所有程序中訪問的地址都是實際的物理地址,操作系統(tǒng)對內(nèi)存空間沒有 保護(hù)。當(dāng)觸摸屏檢測到有改變幅值或頻率的信號發(fā)生時,就去修改指定單元中存儲的數(shù)據(jù), 這樣的內(nèi)存單元對于兩個任務(wù)來說屬于臨界資源,在觸摸屏修改內(nèi)存期間需要禁止其他程序 對該內(nèi)存進(jìn)行任何操作。同樣,采集程序每次在發(fā)送幅值和頻率信號之前要對該內(nèi)存單元進(jìn) 行讀操作,若在此時有觸摸屏信號對內(nèi)存提出寫操作要求,程序就應(yīng)該進(jìn)行等待,直到采集 部分的讀操作執(zhí)行完畢,釋放內(nèi)存的訪問權(quán)。
      3結(jié)束語
        基于嵌入式的數(shù)字存儲示波器可以穩(wěn)定、清晰地顯示頻率為0~40MHz的信號波形,便于捕獲 和顯示那些可能只發(fā)生一次的事件。利用存儲示波器本身和外部計算機(jī)可以方便地進(jìn)行分析 、存檔和其他處理,為工業(yè)現(xiàn)場應(yīng)用和科學(xué)實驗提供了很大的方便。
      參考文獻(xiàn)




      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 精品福利一区3d动漫| 日韩免费无码视频一区二区三区 | 欧洲精品码一区二区三区免费看 | 色偷偷久久一区二区三区| 在线精品自拍亚洲第一区| 人妻无码一区二区三区AV| 国产成人一区在线不卡| 另类ts人妖一区二区三区| 精品爆乳一区二区三区无码av| 一本AV高清一区二区三区| 久久精品中文字幕一区| 福利一区二区在线| 天堂一区二区三区在线观看| 中文字幕一区二区三区5566| 国产在线精品一区二区在线观看 | 精品黑人一区二区三区| 亚洲AV无码一区二区三区DV| 国产品无码一区二区三区在线蜜桃| 免费视频精品一区二区| 波多野结衣中文字幕一区二区三区| 少妇一夜三次一区二区| 毛片一区二区三区| 国模无码一区二区三区 | 视频一区视频二区日韩专区| 韩国精品一区二区三区无码视频| 2021国产精品视频一区| 亚洲AV无码一区二区三区久久精品| 老熟女五十路乱子交尾中出一区| 无码少妇一区二区性色AV| 色狠狠AV一区二区三区| 亚洲av无码片区一区二区三区| 国产精品制服丝袜一区| 亚洲日本va一区二区三区| 午夜视频一区二区三区| 青娱乐国产官网极品一区| 三上悠亚精品一区二区久久| 亚洲色大成网站www永久一区| 无码国产精成人午夜视频一区二区 | 日韩精品一区二区亚洲AV观看| 农村乱人伦一区二区| 亚洲av乱码中文一区二区三区|