《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 用CPLD實現單片機與ISA總線接口的并行通信

用CPLD實現單片機與ISA總線接口的并行通信

2009-01-04
作者:肖小鋒 盛 文 李演仁

??? 摘? 要: 介紹了用ALTERA公司MAX7000系列CPLD芯片實現單片機與PC104ISA總線接口之間的并行通信。給出了系統設計方法及程序源代碼。?

??? 關鍵詞: CPLD? ISA總線? 并行通信

?

??? CPLD(Complex Programmable Logic Device)是一種復雜的用戶可編程邏輯器件,由于采用連續連接結構,易于預測延時,從而使電路仿真更加準確。CPLD是標準的大規模集成電路產品,可用于各種數字邏輯系統的設計。近年來,由于采用先進的集成工藝和大批量生產,CPLD器件成本不斷下降,集成密度、速度和性能大幅度提高,一個芯片就可以實現一個復雜的數字電路系統;再加上使用方便的開發工具,使用CPLD器件可以極大地縮短產品開發周期,給設計修改帶來很大方便[1]。本文以ALTERA公司的MAX7000系列為例,實現MCS51單片機與PC104ISA總線接口的并行通信。采用這種通信方式,數據傳輸準確高速,在12MHz晶振的MCS51單片機控制的數據采集系統中,可以滿足與PC104 ISA總線接口實時通信的要求,通信速率達200Kbps。?

1 系統總體設計方案?

??? 用CPLD實現單片機與PC104ISA總線接口的并行通信,由于PC104主要完成其它方面的數據采集工作,只是在空閑時才能接收單片機送來的數據,所以要求雙方通信的實時性很強,但數據量不是很大。因此在系統設計中,單片機用中斷方式接收數據,PC104采用查詢方式接收數據。系統設計方案如圖1所示。?

?

?

??? 在單片機部分,D[0..7]是數據總線,A[0..15]是地址總線,RD和WR分別是讀寫信號線,INT0是單片機的外部中斷,當單片機的外部中斷信號有效時,單片機接收數據。?

??? 在CPLD部分,用一片MAX7000系列中的PM7128?ESLC84來實現,用來完成MCS51與PC104ISA總線接口之間的數據傳輸、狀態查詢及延時等待。?

??? 在PC104ISA部分,只用到PC104的8位數據總線D[0..7],A[0..9]是PC104的地址總線;/IOW和/IOR是對指定設備的讀寫信號;AEN是允許DMA控制地址總線、數據總線和讀寫命令線進行DMA傳輸以及對存儲器和I/O設備的讀寫;IOCHRDY是I/O就緒信號,I/O通道就緒為高,此時處理機產生的存儲器讀寫周期為4個時鐘周期,產生的I/O讀寫周期和DMA字節傳輸均需5個時鐘周期,MCS51通過置此信號為低電平使CPU插入等待周期,從而延長I/O周期;SYSCLK是系統時鐘信號,使系統與外部設備保持同步;RESETDR是上電復位或系統初始化邏輯信號,是系統總清信號。?

2 基于MAX+plusII的硬件實現?

??? ALTERA公司的CPLD開發工具MAX+plusII,支持多種輸入方式,給設計開發提供了極大的方便,因此本系統采用MAX+plusII進行設計。系統的主體部分用原理圖輸入方式,由于庫中提供了現成的芯片,所以使用很方便。原理圖輸入部分如圖2和圖3所示。圖2主要完成單片機與ISA接口通信中的數據傳輸和握手判斷。在圖2中,各信號說明如下:?

??? D[0..7]???? 單片機的8位雙向數據總線;?

??? PCD[0..7]?? ISA接口的8位雙向數據總線;?

??? PCRD??????? ISA接口的讀有效信號;?

??? PCWR??????? ISA接口的寫有效信號;?

??? STATE?????? ISA接口的查詢選通信號,用來判斷單片機已寫數據或讀走數據;?

??? PCSTATE 單片機用此查詢ISA接口已取走數據;?

??? MCURD?????? 單片機的讀有效信號;?

??? MCUWD?????? 單片機的寫有效信號;?

??? INT0??????? 單片機的外部中斷信號。?

??? 當MCUWR信號有效時,單片機把數據鎖存于74LS374(1)中,此時PCSTATE變為高電平;PC104用STATE信號選通74LS244來判斷數據位PCD0是否為高電平,如果為高,說明單片機送來了數據,則使PCRD有效,從數據鎖存器74LS374(1)中取走數據,此時PCSTATE變為低電平,單片機通過判斷此信號為低電平來判定PC104已取走了數據,此時可以發下一個數據。?

?

?

?

??? 當PCWR信號有效時,PC104把數據鎖存于74LS374(2)中,此時INT0變為低電平;單片機產生外部中斷,使MCURD信號有效,從數據鎖存器74LS3734(2)中取走數據。此時INT0變為高電平,PC104用STATE信號選通74LS244判斷數據位PCD1是否為高電平,如果為高電平,則說明單片機取走了數據,可以發送下一個數據。?

??? PC104與單片機進行通信,最關鍵的就是速度匹配問題。由于PC104的速度快,而單片機的速度較慢,所以要在PC104的IOCHRDY處插入等待周期。如圖3所示,各信號說明如下:?

??? IOCHRDY 用來使ISA接口等待5個時鐘周期;?

??? DLY_D?????? 延時輸入信號;?

??? DLY_CK????? 延時等待時鐘信號;?

??? DLY_CLR 等待清除信號,為開始下一次送數周期做準備;?

??? DELAY?????? 延時5個時鐘周期后的輸出信號,作為DLY_CLR信號的輸入;?

??? SYSCLK????? ISA接口的系統時鐘信號。?

??? 在MCS51與PC104進行通信的過程中,DLY_D信號一直有效(高電平),在信號SYSCLK的作用下,每5個時鐘周期DELAY信號有效一次,即為高電平。此時DLY_CLR信號有效(低電平),IOCHRDY信號變為高電平,PC104可以讀寫數據。?

??? 地址譯碼部分采用文本輸入方式,用ALTERA公司的硬件設計開發語言AHDL(Altera Hardware Description Language)實現。AHDL是一種模塊化的高級語言,完全集成于MAX+plus II系統中,特別適合于描述復雜的組合邏輯、狀態機和真值表,地址譯碼部分采用文本輸入方式充分體現了文本輸入方式的優點。文本輸入內容如下:?

??? SUBDESIGN Address?

??? (?

??? PCA[9..0]?? :INPUT;?

??? AEN,IOR,IOW?????? :INPUT;?

??? RESETDR,DELAY????? :INPUT;?

??? A[15..14]?????????? :INPUT;?

??? RD,WR????????????? :INPUT;?

??? DLY_D?????????????? :OUTPUT;?

??? DLY_CK????????????? :OUTPUT;?

??? DLY_CLR??????????? ?:OUTPUT;?

??? STATE?????????????? :OUTPUT;?

??? PCRD??????????????? :OUTPUT;?

??? PCWR??????????????? :OUTPUT;?

??? MCURD?????????????? :OUTPUT;?

??? MCUWR?????????????? :OUTPUT;?

??? )?

??? BEGIN?

??? ?選DLY_CLR=RESETDR#DELAY;?

??? DLY_D=?選AEN&(PCA[9..1]==H″110″);?

??? DLY_CK=?選AEN&(PCA[9..1]==H″110″)&(?選IOR#?選IOW);?

??? ?選PCWR=?選AEN&(PCA[9..0]==H″220″)&?選IOW;?

??? ?選PCRD=?選AEN&(PCA[9..0]==H″220″)&IOR;?

??? ?選STATE=?選AEN&(PCA[9..0]==H″221″)&?選IOR;?

??? ?選MCSWR=(A[15..14]==H″2″)&?選WR;?

??? END;?

??? 說明:PCA[9..0]是PC104的地址信號,A[15..14]是單片機的地址信號,PC104用到端口地址220H和221H。?

3 通信軟件設計?

??? PC104是基于ISA總線的,在系統軟件設計中要防止地址沖突。PC104中使用A0~A9地址位來表示I/O端口地址,即可有1024個口地址,前512個供系統板使用,后512個供擴充插槽使用,當A9=0時表示為系統板上的口地址;當A9=1時表示擴充插槽接口卡上的口地址[2]。因為本設計中采用保留的口地址220H和221H,保證不會發生地址沖突。?

??? 在本程序中,PC104采用查詢方式接收數據,單片機采用中斷方式接收數據。?

??? #define pcreadwrite 0x220?? ;PC104讀寫數據口地址?

??? #define pcrdstate 0x221???? ;PC104查詢狀態口地址?

??? PC104寫數據函數:?

??? void pcwrite(int port,unsigned char ch)?

??? outportb(pcreadwrite,ch);?

??? while((inportb(pcrdstate)&0x02)?選=0x02);等待單片機讀走數據?

??? {? }?

??? }?

??? 單片機讀子程序:?

??? MCUR: MOV DPTR,#400H?

??????? MOVX? A,@DPTR?

????????? RETI?

??? PC104讀數據函數:?

??? unsigned char pcread(int port)?

??? {? while ((inportb(pcrdstate)&0x0)?選=0x01);等待單片機寫數據?

????? {? }?

??? ? return inportb(pcreadwrite);?

??? }?

??? 單片機寫子程序:?

??? MCUWR: MOV DPTR,#8000H?

?????????? MOVX? @DPTR,A?

??? ; 等待PC104讀寫數據?

??? RET?

參考文獻?

1 李冬梅.PLD器件與EDA技術.北京:北京廣播學院出版社,?

? 2000?

2 王士元.C高級實用程序設計.北京:清華大學出版社,?

? 1996

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          一区二区三区在线高清| 亚洲欧洲在线播放| 午夜视黄欧洲亚洲| 国产人妖伪娘一区91| 欧美日韩久久精品| 国产精品一级久久久| 夜夜嗨av色综合久久久综合网| 免费久久精品视频| 久久日韩粉嫩一区二区三区| 欧美14一18处毛片| 国产精品久久久久久户外露出| 亚久久调教视频| 亚洲第一页自拍| 国产精品日韩欧美| 久久午夜色播影院免费高清| 欧美精品成人在线| 一区二区三区偷拍| 国产精品久久网| 欧美**字幕| 久久久久免费视频| 午夜精品久久久久久久蜜桃app| 欧美在线首页| 久久婷婷国产综合精品青草| 另类春色校园亚洲| 亚洲午夜高清视频| 国产一区二区三区在线观看免费视频| 欧美影院一区| 久久精品女人的天堂av| 久久九九热免费视频| 狠狠久久五月精品中文字幕| 亚洲国产天堂久久综合网| 欧美伊人久久| 这里是久久伊人| 欧美成人影音| 老司机免费视频一区二区| 国产日韩一级二级三级| 国产日韩欧美在线| 亚洲第一天堂av| 永久久久久久| 欧美精品一区二区三区蜜臀| 99国产精品私拍| 欧美三区免费完整视频在线观看| 国产精品综合色区在线观看| 米奇777在线欧美播放| 亚洲欧美成人一区二区在线电影| 亚洲精品综合在线| 久久大逼视频| 亚洲国产精选| 久久精品一区二区三区中文字幕| 国产精品盗摄久久久| 日韩一二三在线视频播| 欧美另类一区| 国产色综合天天综合网| 一区二区三区精品久久久| 欧美激情一区二区久久久| 午夜精品久久久久久久男人的天堂| 欧美理论在线| 韩国一区二区在线观看| 亚洲国产一二三| 亚洲午夜小视频| 欧美本精品男人aⅴ天堂| 99精品视频网| 久久久噜噜噜久久中文字免| 欧美激情精品| 亚洲欧美一区二区三区久久| 欧美好骚综合网| 91久久夜色精品国产网站| 国产日韩av在线播放| 亚洲在线观看视频| 欧美在线视频免费观看| 国产欧美日韩精品在线| 中文亚洲免费| 99ri日韩精品视频| 在线欧美不卡| 欧美伦理视频网站| 欧美精品日本| 亚洲国产欧美日韩精品| 一本一本久久a久久精品牛牛影视| 久久人人九九| 亚洲第一毛片| 亚洲男人第一网站| 国产一区99| 国产日韩一区| 国产一区二区三区电影在线观看| 国产欧美日韩综合精品二区| 久久久综合香蕉尹人综合网| 久久久精品2019中文字幕神马| 国产精品第三页| 麻豆乱码国产一区二区三区| 欧美精品一区二区三区四区| 亚洲欧美一区二区精品久久久| 亚洲乱码一区二区| 午夜精品久久久久久久久久久久| 狠狠88综合久久久久综合网| 美女成人午夜| 一区二区在线不卡| 一区二区三区四区五区精品| 毛片一区二区| 亚洲永久字幕| 欧美在线啊v一区| 欧美精品一区二区在线播放| 亚洲黄色在线看| 国产精品羞羞答答xxdd| 午夜精品一区二区三区在线播放| 国产精品一卡| 久久蜜臀精品av| 国产精品一区在线观看| 欧美日韩成人在线| 欧美日韩中文字幕综合视频| 99re在线精品| 国产麻豆午夜三级精品| 国产精品午夜视频| 国产精品区一区| 欧美日本亚洲| 欧美成人激情视频免费观看| 亚洲国产精品一区制服丝袜| 蜜桃久久av一区| 国产精品免费看久久久香蕉| 亚洲在线黄色| 欧美日韩成人一区二区| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲视频中文| 欧美日韩免费观看一区| 在线一区视频| 亚洲精品国产精品久久清纯直播| 亚洲黄色天堂| 一区二区久久| 久久精品观看| 日韩一区二区免费高清| 99re66热这里只有精品3直播| 欧美激情偷拍| 亚洲欧美国产视频| 国产精品综合| 国产一区二区三区久久久久久久久| 亚洲视频香蕉人妖| 欧美顶级大胆免费视频| 欧美在线资源| 亚洲久久在线| 亚洲视频在线免费观看| 国产乱码精品一区二区三区不卡| 欧美影院午夜播放| 欧美高清视频一二三区| 久久亚洲精品中文字幕冲田杏梨| 国产精品欧美一区二区三区奶水| 狠狠久久婷婷| 亚洲欧美日韩视频二区| 亚洲精品久久久久久下一站| 另类尿喷潮videofree| 亚洲欧洲av一区二区三区久久| 亚洲承认在线| 一区二区三区国产精华| 男女av一区三区二区色多| 亚洲精品专区| 国产欧美日韩精品一区| 亚洲精品社区| 亚洲欧美日韩精品综合在线观看| 欧美专区在线观看| 亚洲专区在线| 久久国产精品久久w女人spa| 狂野欧美性猛交xxxx巴西| 欧美日精品一区视频| 亚洲成人自拍视频| 欧美电影免费观看高清完整版| 国产一区在线观看视频| 亚洲宅男天堂在线观看无病毒| 欧美一级日韩一级| 亚洲国产综合在线| 性欧美1819sex性高清| 亚洲经典在线看| 欧美亚洲一区在线| 国产日韩在线视频| 亚洲精品久久久蜜桃| 国产精品久久久久9999吃药| 欧美三级电影一区| 国产一区二区成人久久免费影院| 一本色道久久综合亚洲精品婷婷| 国产精品jvid在线观看蜜臀| 亚洲精品久久嫩草网站秘色| 久久精品国内一区二区三区| 午夜在线电影亚洲一区| 国产欧美日韩在线| 欧美成人国产一区二区| 国产精品护士白丝一区av| 久久久久久久97| 欧美国产日韩一二三区| 亚洲视频欧美视频| 亚洲人成在线影院| 国产精品一区免费观看| 亚洲国产精品一区在线观看不卡| 亚洲国产欧美一区| 欧美精品一区二区三区在线看午夜| 中文av一区特黄| 国产亚洲美州欧州综合国| 国产酒店精品激情| 亚洲一区视频| 亚洲精选一区二区| 久久久女女女女999久久| 欧美激情欧美狂野欧美精品| 亚洲美女免费精品视频在线观看| 日韩一二三在线视频播| 久久久久在线| 久久综合九色综合网站| 亚洲黄色一区| 欧美韩国日本一区| 欧美激情综合色综合啪啪| 国内精品久久久久久久影视麻豆| 久久在线视频| 国产一区二区三区日韩欧美| 欧美日韩在线亚洲一区蜜芽| 国产精品极品美女粉嫩高清在线| 久久国产精品久久国产精品| 久久激情久久| 欧美肥婆bbw| 亚洲午夜免费视频| 欧美电影在线播放| 欧美日韩四区| 亚洲美女视频网| 欧美成人小视频| 麻豆精品视频在线观看视频| 性欧美激情精品| 亚洲精品久久| 欧美高清在线播放| 亚洲男人第一网站| 99在线视频精品| 欧美一乱一性一交一视频| 亚洲欧洲在线播放| 国产一区二区精品| 国产一级久久| 欧美一级欧美一级在线播放| 久久久久国产一区二区| 亚洲国产日韩在线一区模特| 国产美女在线精品免费观看| 国产一区二区高清不卡| 久久激情视频| 国产一区二区三区自拍| 久久精品国产综合精品| 亚洲国产日韩欧美一区二区三区| 国产午夜精品久久久久久免费视| 欧美午夜视频一区二区| 亚洲国产精品一区二区久| 国产亚洲精久久久久久| 国产精品99免视看9| 亚洲国产精品视频| 香蕉尹人综合在线观看| 亚洲大片一区二区三区| 欧美日韩精品欧美日韩精品一| 欧美精品一区二区三区蜜臀| 欧美天天影院| 欧美精品自拍| 久久久久久久综合色一本| 国产精品高潮呻吟久久av黑人| 在线亚洲免费视频| 国产在线国偷精品产拍免费yy| 欧美一区二区在线免费播放| 欧美日韩国产欧| 午夜在线一区二区| 欧美一区二区三区的| 亚洲欧洲日韩女同| 亚洲免费在线电影| 亚洲欧洲一区二区三区在线观看| 亚洲一区二区三区在线| 亚洲二区在线视频| 在线看日韩欧美| 亚洲综合第一页| 亚洲人成在线观看网站高清| 亚久久调教视频| 美女成人午夜| 国产一区二区三区免费在线观看| 欧美午夜精品| 国产精品日韩二区| 久久不射2019中文字幕| 日韩视频久久| 影音先锋中文字幕一区| 国产精品超碰97尤物18| 欧美日韩国产精品专区| 99国产精品视频免费观看一公开| 欧美国产日韩a欧美在线观看| 久久青草欧美一区二区三区| 欧美人妖另类| 亚洲第一区在线| 午夜精品久久久久久| 亚洲美女电影在线| 国产精品啊v在线| 亚洲高清自拍| 亚洲国产小视频在线观看| 99精品欧美一区二区蜜桃免费| 亚洲成在线观看| 免费视频亚洲| 在线观看视频一区二区欧美日韩| 国产日韩在线播放| 国产精品日韩精品欧美在线| 国产精品一区二区久久| 日韩亚洲精品视频| 国产精品久久97| 久久婷婷综合激情| 国产精品成人av性教育| 99re热这里只有精品视频| 99视频有精品| 欧美中文在线观看国产| 国产精品一区免费视频| 在线视频欧美日韩| 欧美二区乱c少妇| 国产视频精品va久久久久久| 欧美亚洲一区| 久久久91精品国产一区二区精品| 一本大道久久a久久精品综合| 亚洲精品在线电影| 国产一区在线看| 亚洲人成啪啪网站| 欧美一区二区三区在线播放| 国产精品一卡二| 1000部国产精品成人观看| 99re66热这里只有精品4| 伊大人香蕉综合8在线视| 欧美激情中文字幕乱码免费| 在线精品国产成人综合| 女同性一区二区三区人了人一| 欧美日韩在线观看一区二区三区| 国产精品天美传媒入口| 久久一区免费| 亚洲视频在线观看一区| 国产毛片精品国产一区二区三区| 最新中文字幕一区二区三区| 欧美一区午夜精品| 美女图片一区二区| 亚洲第一中文字幕在线观看| 久久久综合香蕉尹人综合网| 午夜精品福利一区二区三区av|