在高速數據采集系統中,若A/D轉換器直接與微處理器MCU相接,則因高速A/D的轉換速率較高,迫使MCU不斷地讀取轉換結果,因而就占用了MCU大部分的I/O帶寬,降低了MCU的工作效率。 在此情況下通常都會(huì )加緩存器,這樣“模/數轉換器緩存器一處理器”就成為一種通用模式。下面就介紹如何利用FIFO芯片CY7C4255V實(shí)現高速高精度模/數轉換器AD767l與LPC2200系列ARM處理器的接口。 1 器件簡(jiǎn)介 1.1 模/數轉換器AD7671 AD767l是采樣速率達1Msps的16位逐次逼近型高速高精度模/數轉換器,采用5V單電源供電,并能提供單極性和雙極性?xún)煞N輸入方式,可適用不同的輸入范圍;它還提供校準與誤差校正電路、內部時(shí)鐘、8位或16位并行口和1個(gè)串行口。AD7671能夠達到16位分辨率,而且無(wú)失碼,最大積分非線(xiàn)性誤差(INL)僅為±2.5 LSB,能夠滿(mǎn)足各種高精度應用的要求。 通常情況下,AD7671有兩種數據讀取方式:一種是在數據轉換完成后,讀取轉換的數據;另一種是在數據轉換的過(guò)程中,讀取上一次轉換完成的數據。圖l中的時(shí)序圖描述了后一種情況,即主控制器發(fā)出CNVST信號后,檢測BUSY信號。當BUSY信號置為高電平時(shí),讀取由上一個(gè)轉換過(guò)程所轉換的數據。 1.2 FIFO芯片CY7C4255V FIFO(First In First Out)簡(jiǎn)單說(shuō)就是指先進(jìn)先出。作為一種新型大規模集成電路,FIFO芯片以其靈活、方便、高效的特性,逐漸在高速數據采集、高速數據處理、高速數據傳輸以及多機處理系統中得到越來(lái)越廣泛的應用。CY7C455V是Cypress公司的3.3V高速,低功耗的FIFO,芯片容量為8K×18位,最高工作速率為100MHz(最短讀/寫(xiě)時(shí)間為10ns),輸入/輸出端口由單獨的時(shí)鐘和使能信號控制,具有“空”、“滿(mǎn)”、“半滿(mǎn)”和可編程的“幾乎空”、“幾乎滿(mǎn)”標志。 CY7C4255的18位輸入/輸出端口由單獨的時(shí)鐘和使能信號控制。輸入端口由一連續寫(xiě)時(shí)鐘(WCLK)和寫(xiě)使能信號(WEN)控制,當寫(xiě)使能WEN有效時(shí),數據在每個(gè)時(shí)鐘周期WCLK信號的上升沿被連續寫(xiě)入FIFO存儲器中。同樣,輸出端口由一連續讀時(shí)鐘(RCLK)和讀使能信號(REN)控制,而且有一個(gè)輸出使能引腳(OE)。如果是單時(shí)鐘操作,則讀/寫(xiě)時(shí)鐘可連接在一起;在異步讀/寫(xiě)應用中,兩個(gè)時(shí)鐘可以是獨立的,時(shí)鐘頻率最高可達100 MHz。利用芯片提供的級聯(lián)輸入(WXI、RXI)、級聯(lián)輸出(WXO、RXO)和首先加載(FL)引腳可進(jìn)行深度擴展。 1.3 ARM處理器LPC2210 LPC2210是基于一個(gè)支持實(shí)時(shí)仿真和嵌入式跟蹤的16/32位144腳ARM7TDMI-S核的微控制器。它內部包含ARM7TDMI-S核與片內存儲器控制器接口的ARM7局部總線(xiàn)、與中斷控制器接口的AMBA高性能總線(xiàn)(AHB)和連接片內外設功能的VLSI外設總線(xiàn)(VPBARM AMBA總線(xiàn)的兼容超集)。LPC2210具有16KB片內靜態(tài)RAM;片內外設與器件引腳的連接由引腳連接模塊控制,該模塊由軟件進(jìn)行控制以符合外設功能與引腳在特定應用中的需求;通過(guò)外部存儲器接口可將存儲器配置成4組,每組的容量高達16MB,數據寬度為8/16/32位;具有2個(gè)32位定時(shí)器(帶4路捕獲和4路比較通道)、PWM單元(6路輸出)、實(shí)時(shí)時(shí)鐘和看門(mén)狗;多個(gè)串行接口包括2個(gè)16C550工業(yè)標準UART、高速I(mǎi)2C接口(400kb/s)和2個(gè)SPI接口;多達76個(gè)通用I/O口(可承受5V電壓),12個(gè)獨立外部中斷引腳EIN和CAP功能。 2 接口電路 利用FIFO芯片CY7C4255V實(shí)現AD7671與LPC2210的接口電路,如圖2所示。圖中,AD7671的輸入范圍已經(jīng)配置成士5V,其數據端口采用高速并行接口;接口的數據讀取模式設置為圖l所示的模式,其中+5V和一5V分別是模擬電壓。由于CY7C11255V與LPC2210的數據接口的電壓為3.3V,所以將3.3V數字電壓輸入到OVDD引腳,這樣AD7671的數據接口電壓就可以與FIFO芯片的數據接口相兼容。ADR421為AD7671提供了+2.5V的基準電壓;AD7671的模擬輸入端,采用了由低噪聲系數的激勵放大器ADS02l構成的驅動(dòng)電路來(lái)驅動(dòng)A137671。 A/D轉換結果輸出直接與FIFO數據輸入端D0~D15相連}轉換控制由ARM處理器的一個(gè)PWM輸出端產(chǎn)生所需的采樣頻率的采樣控制信號,該信號同時(shí)作為 FIFO的輸入使能端的控制。AD767l的BUSY輸出端作為FIFO的輸入時(shí)鐘(WCLK)控制信號,當轉換結束時(shí) BUSY(WCLK)由低變高,此時(shí)FIFO寫(xiě)使能WEN有效,轉換數據就在WCLK(BUSY)信號的上升沿被寫(xiě)入FIFO 存儲器中。 LPC2210 ARM處理器總線(xiàn)數據寬度配置為 16位,由EMC總線(xiàn)的片選信號nCS2、輸出使能信號 nOE、時(shí)鐘輸出XCLK來(lái)控制FIFO的數據讀取。FIFO 的半滿(mǎn)(HF)、全滿(mǎn)(FF)標志與ARM的2個(gè)中斷引腳相連,可通過(guò)編程在實(shí)際應用中選擇使用;EF接ARM的 PO.23引腳作為FIFO的空查詢(xún)引腳。 結語(yǔ) 采用FIFO器件作為高速A/D與ARM處理器間的數據緩沖,具有電路結構簡(jiǎn)單、性能可靠等優(yōu)點(diǎn);同時(shí)提高了處理器的工作效率,使控制更加方便。 |