新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > [組圖]FPGA器件的在線配置方法

        [組圖]FPGA器件的在線配置方法

        作者: 時間:2011-04-29 來源:網絡 收藏

        2.2 ICR控制電路原理

           ICR電路原理如圖3所示。AT24C256用來存儲數據。

           ICR控制電路的工作過程為:經MAXPLUS II編譯生產的文件(.sof)通過格式轉換成為 (.rbf)。然后,利用PC機端的控制程序,通過PC機的串行通信口,經U1存儲在U2中。U1再根據系統的要求,通過P1.2、P1.3、P1.4、P3.0和P3.1等5個I/O口,將其存儲在U2中的數據下載到電路中的中去。

           因作者設計電路中的是Altera公司的FLEX系列的EPF10K10,其配置文件的容量為15KB,故電路中采用1片AT24C128就可存儲EPF10K10的配置數據。我們選用AT24C256可以存儲兩個配置文件,是為了實現多任務電路重構,此時整個ICR控制電路只有2片IC。可以說,它是目前結構最簡單、成本最低的ICR控制電路。如果配置的FPGA是EPF10K30或更大門數的,則需要大容量的存儲器件或多片AT24C256。(在兩線串行總線上最多可接4片AT24C256。)


        3 軟件設計
           在該配置方案中,軟件包括在PC機端的控制軟件和在AT89C2051端的控制軟件兩部分。PC機端的軟件采用Visual Basic語言編程,而AT89C2051采用匯編語言進行編程。

        3.1 PC機端的軟件

           PC機端的軟件采用Visual Basic語言編程。VB支持面向對象的程序設計,具有結構化的事件驅動編程模式,而且可以十分簡便地作出良好的人機界面。PC機端的控制程序主要實現讀取.rbf文件并將其通過串口送出的功能。讀取文件時,主要使用讀取二進制文件命令。在串口通信方面,使用VB提供的具有強大功能的串口通信控件MSCOMM。該控件可設置串口狀態及串口通信的信息格式和協議。
        在實際工作中,要實現AT89C2051和PC機之間的有效通信,必須使其具有相同的波特率和相同的通信協議。作者采用了9600bps的波特率和N.8.1幀結構。N.8.1幀結構表示1幀串行數據有10位:起始位占用1位(低電平),用來表示字符開始;后8位為數據編碼,無奇偶校驗位;最后為停止位(高電平),用來表示字符傳送結束。單片機的串行口工作在方式1。方式1是標準的10位異步通信方式,10位數據和PC機的標準串口相對應,傳送的波特率由單片機工作時鐘和T1的溢出率共同決定。
        3.2 ICR控制電路軟件

           在圖3介紹的ICR控制電路中,其存儲FPGA配置數據的存儲器 AT24C256采用I2C串行總線進行數據交換。其數據交換速度較慢,而FPGA配置數據又比較大,因此如何提高圖3介紹的ICR控制電路的配置速度將是軟件設計上的一個重點。限制速度的瓶頸主要是從AT24C256讀取數據和將數據寫入FPGA器件中。從AT24C256讀取數據,有讀當前地址、隨機讀和順序讀三種方式。這三種方式中,順序讀最簡單、速度最快。因為在同一片AT24C256中,僅需要寫入一次讀命令就可以按順序從0地址開始直至讀完整片AT24C256中的全部數據。向FPGA器件寫數據時,可以使用串行口的移位寄存器工作方式,即方式0。方式0數據的傳送以8位為1幀,無論是發送或是接收都是最低有效位居先。這和FPGA對數據的要求一致,傳送的波特率固定為振蕩頻率的1/12。本系統只需用到輸出方式,串行數據通過RXD端輸出,而用TXD端輸出移位脈沖。當1字節數據寫入串行數據緩沖器SBUF時,就開始發送。在此期間,發送控制器送出移位信號,使發送移位寄存器的內容右移1位,直至最高位(D7位)移出后,停止發送數據和移位時鐘脈沖。發送完1字節數據后,硬件置發送標志位TI為1,通過判斷TI的狀態決定是否向SBUF寫入數據。采用這種方式比采用普通(I/O)口要快很多。

        本文引用地址:http://www.104case.com/article/150816.htm

        4 結 論

           我們設計的基于微控制器的FPGA器件的 ICR控制系統,具有線路結構簡單、開發容易、體積小、成本低的優點;可以支持3.3V和5V系統的配置;適用于需要ICR功能的電子裝置中。該ICR控制電路是為配置Altera公司FLEX系列的FPGA器件而設計的,稍加修改也適用于其它系列的FPGA器件。這個配置電路的主要弱點在于配置速率較慢,只能適用于配置速率要求不高的應用。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 喀喇| 治县。| 安阳市| 双鸭山市| 合江县| 鄯善县| 宜川县| 聂荣县| 桐梓县| 新宁县| 磴口县| 双江| 平阴县| 日照市| 五河县| 雅江县| 徐水县| 宜丰县| 屏山县| 杭锦后旗| 洛扎县| 梅河口市| 红安县| 武邑县| 洪泽县| 安乡县| 云南省| 宜兴市| 灯塔市| 宝山区| 哈尔滨市| 南通市| 嘉义县| 玉树县| 拜城县| 安岳县| 福鼎市| 隆尧县| 和平县| 明光市| 苍南县|