《電子技術應用》
您所在的位置:首頁 > 測試測量 > 業界動態 > 基于FPGA的測量數據存儲交換技術

基于FPGA的測量數據存儲交換技術

2008-07-24
作者:徐義忠, 孫苓生

??? 摘 要: 以AT45DB041B為例,將FPGA和大容量" title="大容量">大容量串行flash存儲芯片" title="存儲芯片">存儲芯片的優點有效地結合起來,實現了FPGA對串行存儲芯片的高效讀寫操作,完成了對大量測量數據的存儲處理和與上位機" title="上位機">上位機的交換,并在某電力局項目工頻場強環境監測儀中成功應用。
??? 關鍵詞: FPGA; 串行flash; 存儲交換" title="存儲交換">存儲交換; UART; VHDL

?

??? 現場可編程門陣列(FPGA)采用基于芯片的設計方法,具有穩定可靠、抗干擾能力強、可以反復編程、易于修改等特點,極大地增強了設計的靈活性,提高了設計的實現速度;大容量串行flash存儲芯片價格低,管腳少,結構簡單,使用SPI對數據進行訪問,方便了硬件規劃,增強了系統可靠性,減少了轉換噪聲,縮小了封裝尺寸,也節省了大量的FPGA的I/O口。兩者的有效結合可以使得大量數據的存儲交換更加高效穩定可靠。
1 設計背景
??? 在筆者的多通道工頻場強環境監測儀項目中,需要在無人監控的情況下,長期定時采集高壓架空線和變電站周圍的電磁場強度及溫濕度數據,并及時進行存儲處理,隨時供上位機通過UART訪問分析。這必然涉及到大量測量數據的存儲交換。本設計選用ALTRERA公司的Cyclone系列芯片EP1C3T144C8作為主控芯片,實現對數據的采集和交換,選用ATMEL公司的串行flash—AT45DB041B,用以對測量數據的存儲。本文以實際項目為例,闡述利用FPGA和大容量串行flash存儲芯片的優點,有效解決大量測量數據存儲交換問題的方法。
2 芯片介紹
2.1 EP1C3T144C8

??? EP1C3T144C8采用了基于全層銅SRAM工藝,支持多種I/O標準,2 910個LEs,1個內部PLL,13個M4K RAM塊,59 904個RAM位,104個可供使用的I/O。
2.2 AT45DB041B
2.2.1 基本原理

??? 該存儲器主要由主存儲器和兩個264B的緩存構成,主存儲器容量約為4Mbit,分為2 048頁,每頁也為264B。
??? AT45DB041B具有多種封裝形式,圖1是SOIC-8封裝下的管腳圖。其各管腳的定義與功能如下:
??? 1腳:SI,串行數據輸入端;
??? 2腳:SCK,串行時鐘信號。數據在SCK上升沿輸入,下降沿輸出;
??? 3腳:復位信號,低電平有效。由于芯片內部有上電復位電路,不用時此管腳可直接接高電平;
??? 4腳:片選信號,低電平有效;
??? 5腳:寫保護信號,低電平有效。若此腳為低,則主存儲區前256頁不能被擦寫編程,如果不用此功能,可直接接高電平;
??? 6腳:VCC,電源輸入端;
??? 7腳:GND,電源地;
??? 8腳:SO,串行數據輸出端。

?


2.2.2 器件操作
??? AT45DB041B的操作命令分為讀命令、編程和擦寫命令以及附加命令,其具體的指令和讀寫操作方式很多文章和資料已有介紹,限于篇幅,本文只將要用到的命令作簡要的介紹。
??? (1)讀主存儲區
??? 不經過緩沖區讀主存儲區任一頁,緩沖區內容不會改變。指令格式后續的SCK信號將使數據依次從SO端輸出。如果讀到了指定頁的最后字節,將自動跳回到頁首起始位置,循環讀取。整個過程中,/CS必須保持為低電平,/CS從低到高的跳變將中止讀操作,并三態SO引腳。
??? (2)連續讀主存儲區
??? 不經過緩沖區直接讀任意存儲單元的內容,緩沖區內容也不會改變。指令格式后續的SCK時鐘信號將使數據依次從SO端輸出。如果讀到了整個主存儲區的最后字節,將自動跳回主存儲區起始位置,循環讀取,頁與頁之間及主存儲區首尾之間沒有延時。整個過程中,/CS必須保持為低電平,/CS從低到高的跳變將中止讀操作,并三態SO引腳。
??? (3)寫緩沖區
??? 數據能夠通過SI端被寫入任意一個緩沖區。當寫到緩沖區結尾后仍有數據寫入時,數據將從緩沖區起始字節依次寫入。只要/CS保持為低,在SCK時鐘信號配合下,數據將一直循環寫入,/CS從低到高的跳變將中止寫操作。
??? (4)緩沖區寫入主存儲頁(帶擦除)
??? 事先寫入緩沖區的數據可通過編程寫到主存儲頁中。當指令寫完后,/CS由0變為1時,芯片首先擦除待寫入頁,然后再將指定緩沖區內的數據寫入主存儲頁。頁擦除和寫入操作由內置時鐘控制,最長時間為tEP
2.2.3 時序
??? AT45DB041B的命令、地址、附加位和數據都是通過SI、SO引腳以位的形式輸入和輸出的,因此要采用FPGA產生讀寫時序時除正確理解其操作過程外,另一個關鍵點在于正確理解位的發送和接收時序,也就是數據如何按位移入或移出AT45DB041B。工作于SPI的inactive clock polarity high模式的時序如圖2所示。

?


3 實際應用
3.1 硬件接線

??? 硬件電路如圖3所示。EP1C3T144C8的I/O和AT45DB041B的SI、SO、SCK、/RST、/CS引腳相連,/WP接高電平,實現對串行flash的讀寫操作;再由TXD、RXD通過MAX232和9芯串口" title="串口">串口與上位機實現UART通信,完成數據的交換工作。

?


3.2 軟件設計
??? 一般的串行flash存儲芯片提供了許多操作命令,可以根據不同的設計目的選擇不同的操作命令組合,實現對串行flash存儲芯片的不同操作,滿足不同的設計要求。
??? 在本設計中,要定時地采集高壓架空線和變電站周圍的電磁場強度及溫濕度數據,每次12個字節,并進行及時的存儲處理,隨時供上位機通過UART讀取。
??? 在Quartus II中用VHDL編寫FPGA與AT45DB041B的接口程序,其程序框圖如圖4所示。

?


??? 寫操作使用了寫緩沖區和緩沖區寫入主存儲頁(帶擦除)兩個命令。寫信號到時將規定寫入的數據寫入緩沖區后,立即將緩沖區寫入主存儲頁;寫完之后,再將當前的位置信息(主存儲區頁地址和頁內行地址)通過緩沖區寫到主存儲區的最后一頁,供每次程序啟動時讀取來恢復存儲器的狀態,之后就進入idle狀態。
??? 讀操作使用了讀主存儲區和連續讀主存儲區命令。讀存儲區是為了恢復每次寫入的位置信息,以便在程序復位后繼續接著寫入數據或讀取數據;讀信號到即發送連續讀主存儲區命令,每讀完一個字節便通過串口發送到上位機,接到串口發送完當前字節信號后,再繼續讀下一字節。當讀完寫操作時記錄的主存儲區當前頁或上位機給出發送出錯信號時,結束讀操作。
??? 程序的實現采用了VHDL中的狀態機(state machine),它是描述一系列狀態轉換的時序電路,它能夠很好地完成本設計中各狀態的條件的判斷和轉換。在程序設計過程中要特別注意幾個問題:
??? (1)程序剛啟動時的延時:這是為了使芯片工作在inactive clock polarity high模式,保證芯片的正常運行;
??? (2)讀過程中的延時:由于對flash訪問的時鐘(AT45DB041B可達20MHz)和用于UART發送的波特率(本設計中為9 600b/s)速度不匹配,而如果不作延時處理,直接給一個周期的UART發送使能,發送模塊就可能在自身時鐘的邊沿捕捉不到發送使能信號,為了保證正常發送,必須對發送使能信號進行延時;
??? (3)寫過程中的延時:由于擦除主存儲區并將緩沖區寫入所需的最長時間為tEP,為了確保每次都將數據成功寫入,必須延時一段時間tEP再轉入其他狀態。
??? VHDL實現的基于RS232標準的UART簡單穩定可靠,有很多文獻資料可供參考,這里不再贅述。
??? 本文采用FPGA結合VHDL編程來模擬SPI接口時序的方法實現了對大容量串行存儲器的訪問,在UART的配合下完成了對大量測量數據的存儲交換工作,并在筆者設計的儀表中成功地應用,運行穩定可靠高效。這里雖然是以ATMEL公司的AT45DB041B為例,但使用相同的方法,對一系列其他類型的串行存儲芯片如Megawin公司的flash存儲器MM36SBO10等,也可以進行類似的操作,對以后解決此類問題具有一定的參考價值。
參考文獻
[1]?http://www.altera.com Cyclone Device Hand book, Volume 1
[2]?http://www.atmel.com AT45DB041B-SC datasheet
[3]?王勝輝,律方成,張正平,等.串行FLASH存儲器AT45DB041與單片機的接口設計及應用.電測與儀表,2007,44(1):65-68.
[4]?孫鵬. 大容量串行flash存儲器AT45DB041的原理與應用[J]. 電子制作,2007,(1):42-44.
[5]?黃智偉. FPGA系統設計與實踐.北京: 電子工業出版社,2005.
[6]?李現勇. Visual C++串口通信技術與工程實踐(第二版).北京:人民郵電出版社,2002.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
一区二区三区在线视频观看| 亚洲欧美综合一区| 国产精品一区二区女厕厕| 欧美国产另类| 另类欧美日韩国产在线| 久久久久久久综合| 欧美一区成人| 午夜视频在线观看一区二区| 亚洲一区二区三区久久| 亚洲网站在线观看| 亚洲一区欧美| 亚洲在线成人| 亚洲性夜色噜噜噜7777| 亚洲婷婷国产精品电影人久久| 一本色道久久综合亚洲精品不| 亚洲国产日韩欧美一区二区三区| 亚洲国产高清视频| 亚洲国产成人高清精品| 亚洲国产精品久久久久秋霞蜜臀| 亚洲国产精品久久久久婷婷老年 | 在线亚洲免费| 国产精品99久久久久久宅男| 一区二区欧美国产| 宅男噜噜噜66一区二区| 亚洲一区免费网站| 亚洲永久精品国产| 午夜久久tv| 亚洲第一页在线| 亚洲免费观看视频| 亚洲视频在线一区| 欧美一区亚洲| 久久香蕉国产线看观看网| 久久综合久久综合久久| 欧美超级免费视 在线| 欧美日本国产一区| 国产精品家庭影院| 国产一区二区三区高清在线观看| 国产亚洲在线| 亚洲国产精品久久久久秋霞蜜臀 | 亚洲精品免费网站| 一二三区精品福利视频| 亚洲综合电影| 久久九九99视频| 蜜臀av性久久久久蜜臀aⅴ| 欧美精品三区| 国产精品三级久久久久久电影| 国产欧美欧美| 亚洲国产精品久久久久婷婷老年 | 久久精品国产视频| 欧美成人一区二区三区在线观看 | 亚洲综合日韩中文字幕v在线| 欧美亚洲色图校园春色| 亚洲激情精品| 亚洲一区在线看| 久久亚洲欧美国产精品乐播| 欧美精品日韩www.p站| 国产精品一区二区久激情瑜伽 | 在线播放中文字幕一区| 亚洲美女中出| 欧美一区二区精品久久911| 亚洲精品欧美极品| 篠田优中文在线播放第一区| 欧美成年人网| 国产欧美成人| 91久久精品一区二区三区| 亚洲一区二区三区在线看| 亚洲啪啪91| 欧美亚洲三级| 欧美精品一区二区三区很污很色的 | 羞羞漫画18久久大片| 日韩亚洲视频在线| 欧美在线首页| 欧美精品一区二区久久婷婷| 国产偷久久久精品专区| 洋洋av久久久久久久一区| 久久成人精品一区二区三区| 一区二区三区导航| 美腿丝袜亚洲色图| 国产乱码精品一区二区三区忘忧草 | 亚洲麻豆视频| 亚洲国产精品传媒在线观看| 亚洲资源av| 欧美a级片网站| 国产视频久久| 亚洲视频综合在线| 99国产精品久久久久久久成人热| 久久精品毛片| 国产精品www网站| 亚洲国产欧美久久| 久久se精品一区二区| 亚洲欧美精品| 欧美日韩一区二区三区在线| 在线成人小视频| 欧美一区二区网站| 午夜一区不卡| 欧美日韩在线免费观看| 最新热久久免费视频| 亚洲成人在线免费| 99av国产精品欲麻豆| 91久久黄色| 久久婷婷国产综合尤物精品| 国产精品最新自拍| 亚洲午夜91| 亚洲深夜激情| 欧美日韩精品二区| 亚洲欧洲一区二区在线播放| 亚洲电影免费| 久久久亚洲成人| 国产综合视频| 性欧美激情精品| 欧美在线观看一二区| 国产精品毛片在线| 亚洲伊人伊色伊影伊综合网| 亚洲线精品一区二区三区八戒| 欧美精品一区二区三区久久久竹菊| 在线精品视频一区二区| 亚洲国产激情| 可以免费看不卡的av网站| 国产午夜精品全部视频播放| 午夜精品福利在线| 久久国产加勒比精品无码| 国产美女精品人人做人人爽| 亚洲一区亚洲| 午夜精品亚洲一区二区三区嫩草| 国产精品mv在线观看| 亚洲视频在线观看| 亚洲综合视频网| 国产精品一区亚洲| 小黄鸭精品aⅴ导航网站入口| 欧美一级二区| 国产亚洲欧美一区在线观看| 欧美在线视频播放| 久久综合伊人77777麻豆| 亚洲高清在线精品| 亚洲欧洲综合另类| 欧美日韩不卡| 一区二区免费在线观看| 欧美一级二区| 精品91在线| 亚洲国产一区二区三区青草影视| 欧美a级大片| 日韩一二在线观看| 午夜久久黄色| 国产一区成人| 91久久精品国产91久久性色tv | 亚洲裸体视频| 亚欧成人精品| 精品成人在线观看| 亚洲伦理在线| 国产精品视频久久久| 久久xxxx精品视频| 欧美风情在线| 一区二区三区久久网| 欧美一级二级三级蜜桃| 伊人精品视频| 一区二区三区四区国产| 国产精品系列在线播放| 亚洲电影在线播放| 欧美日韩精品一区二区在线播放| 在线综合亚洲欧美在线视频| 久久久久久久综合日本| 亚洲国内自拍| 亚洲尤物在线| 狠狠久久五月精品中文字幕| 日韩视频欧美视频| 国产精品夜夜夜| 亚洲欧洲精品一区二区| 欧美色图五月天| 欧美一区二区在线免费播放| 欧美精品情趣视频| 性色一区二区三区| 欧美精品免费看| 先锋资源久久| 欧美久久电影| 欧美一区二区三区免费大片| 欧美精品麻豆| 欧美在线国产| 欧美视频一二三区| 久久国产黑丝| 欧美三级日韩三级国产三级| 久久av一区二区三区漫画| 欧美日韩成人精品| 久久不射中文字幕| 国产精品国产福利国产秒拍| 亚洲国产精品精华液网站| 国产精品视频一二三| 亚洲精品影院在线观看| 国产日韩欧美91| 中文一区二区在线观看| 国产主播一区二区三区| 亚洲无吗在线| 亚洲国产精品久久久久秋霞蜜臀| 欧美伊人久久大香线蕉综合69| 亚洲黄色高清| 久久九九电影| 亚洲免费在线播放| 欧美日韩在线一区二区| 亚洲精品久久嫩草网站秘色 | 亚洲美洲欧洲综合国产一区| 久久久久免费|