技術頻道

      用CPLD實現單片機對Flash Rom的讀寫控制

      摘要:介紹一種用CPLD實現單片機對Flash Rom的讀寫控制方法。用CPLD實現單片機對Flash Rom的讀寫控制,不僅可以突破單片機I/O有限的局限,也充分體現了CPLD邏輯控制器件不僅可以擴展I/O口,而且具有邏輯功能的特點。

      Abstract:Introducing a way of CPLD realizes that Microcontroller controls the read and write of Flash Rom. CPLD realizes that Microcontroller controls the read and write of Flash Rom, which not only is a breakthrough I / O limitations of Microcontroller, but also fully embodies the CPLD ——Logic Control Device not only can expand I / O port, but also has the characteristics of logic functions

      引言:

        無論哪種類型的單片機,I/O口是有限的。在某些應用場合,單片機的I/O口是不夠用的,這時需要擴展單片機的I/O口,本設計選用CPLD擴展單片機的I/O口,實現單片機對Flash Rom的讀寫控制。之所以選用CPLD, 因為CPLD具有高集成度、高可靠性以及硬件邏輯結構的可描述性等特點。采用CPLD作為接口擴展芯片, 大大減少了所用芯片的種類和數量,縮小了體積, 降低了功耗, 提高了系統的可靠性和整體性。

      1 ispMACH 4032ZCPLD

        復雜可編程邏輯器件CPLD (Complex Program2mable Logic Device)是一種半定制的專用集成電路ASIC (Application Specific Integrated Circuit) 。其芯片上按一定排列方式集成了大量的門和觸發(fā)器等基本邏輯元件。通過軟件編程可以實現這些元件的連接,從而使之完成某個邏輯電路或系統的功能,成為一個可在實際電子系統中使用的ASIC。

        本設計采用的是ispMACH 4000Z CPLD。ispMACH 4000Z CPLD系列器件的主要特點是,靜態(tài)功耗僅為目前低電壓CPLD的20%,而且運行速度極快。該系列第一種產品ispMACH 4032Z,管腳至管腳的遲延為3.5nS,時鐘至輸出的遲延為3.0nS,建立時間為2.2nS,工作頻率高達265MHz。ispMACH 4032Z目前已經上市,有商用、工業(yè)用和車用三種溫度選擇,采用48腳TQFP或球間距為0.8毫米的49球芯片柵格陣列封裝。

      2 系統的總體設計

        2.1 硬件設計

        眾所周之,無論哪種型號的單片機,I/O口是有限的,如果不去擴展I/O口,單片機的應用將受到局限。而CPLD具有豐富的I/O口的邏輯器件,單片機用COLD擴展接口可以大大擴展單片機的實現功能,在單片機對Flash Rom的讀寫控制中,采用CPLD實現單片機對Flash Rom讀寫控制,不僅可以實現I/O口有限的局限,也充分體現了CPLD邏輯控制器件不僅能擴展I/O口,而且具有邏輯功能的特點,系統的設計思想闡述如下:

        系統硬件連接框圖如圖


      圖1 系統總體設計框圖

        上述框圖設計說明如下:利用單片機ADUC831的P2.5、P2.6分別與Flash Rom的寫控制端相連。P0口作為CPLD與單片機I/O相連,P2.0作為CPLD的控制選擇端,P2.7作為CPLD同步控制端,CPLD的輸出A0-A7作為Flash Rom的低8位地址,A8-A15為Flash Rom的高8位地址,D0-D7作為數據的輸入輸出口。

        2.2 CPLD軟件設計

        ALTERA 公司的CPLD 開發(fā)軟件有MAX +PlusII和QuartusII,這里使用MAX+PlussII完成系統的軟件設計, MAX+PlussII支持原理圖輸入、VHDL 語言輸入、狀態(tài)圖輸入和混合輸入等輸入方法。VHDL硬件描述語言,與具體的工藝技術和器件無關,易于共享和復用,具有多層次描述系統硬件功能的能力。單片機通過CPLD實現對Flash Rom的控制,在設計中, CPLD需要實現的功能是CPLD對Flash Rom讀和寫,大大縮減了單片機的工作。用VHDL對該功能模塊編程編譯。程序片段如下:

        Architecture flash rom is

        Signal oel, opl: std_logic

        Signal oeh, oph: std_logic

        Signal rdw, rdr: std_logic

        Begin

        Status_select: block

        Signal tmp:std_ logic_vector (5 down to)

        Signal reg:std_logic_vector (44 down 0)

        Tmp<=”01011011000zz01”when reg=”00000”else

        ”00011011000zz01”when reg=”00000”else

        ”01010111000zz01”when reg=”00000”else

        ”11110001000zz01”when reg=”00000”else

        ”111100110000zz01”

        Process (clk)

        Begin

        If clk’event and clk=’1’then

        Reg<=status;

        End if;

        End process;

        2.3單片機程序設計

        單片機主要完成系統的控制功能,在實現輸出控制接口時需要與CPLD配合,提供CPLD 需要的數據和地址及控制線。當需要某一組輸出工作時,先將該組地址存入DPTR 中, 再使用指令:MOVX A, @DPTR,同時“WR”被拉低,而CPLD 的通道選擇端口與單片機的P0、P2. 0、P2. 7 相連接。CPLD通過這組信號判斷選擇并且使能Flash Rom,完成Flash Rom讀寫操作。

      3 結束語

        使用單片機和CPLD結合可以有效地實現過去需要利用單片機和大量外圍接口芯片才能完成的功能。采用CPLD作為接口擴展芯片,大大減少了所用芯片的種類和數量,縮小了體積,降低了功耗,提高了系統的可靠性和整體性。用CPLD實現單片機對Flash Rom的讀寫控制不僅可以實現I/O口有限的局限,也充分體現了CPLD邏輯控制器件不僅能擴展I/O口,而且具有邏輯功能的特點.近年來,隨著采用先進的集成工藝和大批量生產, CPLD 器件成本不斷下降,集成密度、速度和性能都大幅度提高。這樣,一個芯片就可以實現一個復雜的數字電路系統;再加上使用方便的開發(fā)工具,給設計修改帶來很大方便,可以大大縮短系統的設計周期,從而極大提高產品的市場競爭力。

      參考文獻

        [1] 張毅剛,彭喜源,曲春波. 單片機應用技術. 哈爾濱:哈爾濱工業(yè)大學出版社。1997

        [2] 侯伯亨,顧新. VHDL硬件描述語言與數字邏輯電路設計。西安:西安電子科技大學出版社, 1999。

        [3] 陳耀. VHDL語言設計技術.北京:電子工業(yè)出版社.2004

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 国产拳头交一区二区| 国产精品美女一区二区三区| 伊人久久大香线蕉AV一区二区| 精品91一区二区三区| 久久国产精品最新一区| 国产一区二区三区在线| 国产精品视频一区麻豆| 人妻无码第一区二区三区| 日韩精品无码一区二区视频| 日韩精品福利视频一区二区三区| 亚洲无人区一区二区三区| 午夜视频在线观看一区| 97se色综合一区二区二区| 国产一区二区三区在线看| 中文字幕日韩一区二区三区不| 小泽玛丽无码视频一区| 美女视频免费看一区二区 | 久久人妻av一区二区软件| 一区二区国产在线播放| 日本一区二区三区精品国产| 国产在线视频一区二区三区| 国产激情一区二区三区小说| 国产欧美一区二区精品仙草咪 | 国产一区二区三区小说| 中文字幕一区二区三区人妻少妇| 精品欧洲AV无码一区二区男男| 任你躁国语自产一区在| 日韩精品无码一区二区三区| 91精品一区二区综合在线| 日韩AV无码久久一区二区| 国产经典一区二区三区蜜芽| 亚洲国产AV一区二区三区四区| 亚洲AV无码国产精品永久一区| 欧美日韩精品一区二区在线观看| 日本一道高清一区二区三区| 国产天堂在线一区二区三区| 狠狠做深爱婷婷综合一区| 风间由美性色一区二区三区| 亚洲一区二区三区高清视频| 性色av无码免费一区二区三区| 国产MD视频一区二区三区|