技術頻道

      用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) 。其芯片上按一定排列方式集成了大量的門和觸發器等基本邏輯元件。通過軟件編程可以實現這些元件的連接,從而使之完成某個邏輯電路或系統的功能,成為一個可在實際電子系統中使用的ASIC。

        本設計采用的是ispMACH 4000Z CPLD。ispMACH 4000Z CPLD系列器件的主要特點是,靜態功耗僅為目前低電壓CPLD的20%,而且運行速度極快。該系列第一種產品ispMACH 4032Z,管腳至管腳的遲延為3.5nS,時鐘至輸出的遲延為3.0nS,建立時間為2.2nS,工作頻率高達265MHz。ispMACH 4032Z目前已經上市,有商用、工業用和車用三種溫度選擇,采用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 開發軟件有MAX +PlusII和QuartusII,這里使用MAX+PlussII完成系統的軟件設計, MAX+PlussII支持原理圖輸入、VHDL 語言輸入、狀態圖輸入和混合輸入等輸入方法。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 器件成本不斷下降,集成密度、速度和性能都大幅度提高。這樣,一個芯片就可以實現一個復雜的數字電路系統;再加上使用方便的開發工具,給設計修改帶來很大方便,可以大大縮短系統的設計周期,從而極大提高產品的市場競爭力。

      參考文獻

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

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

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

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

      主站蜘蛛池模板: 亚洲大尺度无码无码专线一区| 日韩免费一区二区三区在线| 乱码人妻一区二区三区| 成人精品视频一区二区| 亚洲一区免费观看| 爆乳熟妇一区二区三区霸乳| 亚洲一区中文字幕| 日韩高清国产一区在线| 国产日韩AV免费无码一区二区| 国产乱码精品一区二区三区四川 | 亚洲码一区二区三区| 成人精品视频一区二区三区不卡| 国产精品亚洲一区二区三区 | 日韩视频一区二区在线观看| 久久中文字幕无码一区二区| 亚洲av鲁丝一区二区三区| 国模吧无码一区二区三区| 亚洲男人的天堂一区二区| 美女免费视频一区二区三区| 色一情一乱一伦一区二区三欧美 | 午夜福利一区二区三区高清视频| 精品人妻一区二区三区毛片| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 久久久老熟女一区二区三区 | 国产成人精品无人区一区| 精品免费国产一区二区| 日本一区二区三区不卡视频| 国产日韩一区二区三区| 极品尤物一区二区三区| 久久毛片一区二区| 午夜性色一区二区三区不卡视频 | 国产一区玩具在线观看| 国产成人综合精品一区| 亚洲熟女一区二区三区| 日韩精品区一区二区三VR| 亚洲一区精品视频在线| 海角国精产品一区一区三区糖心| 在线免费观看一区二区三区| 国产suv精品一区二区6| 国产成人精品无码一区二区三区| 久久人妻av一区二区软件|