音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

44b0+cpld  請(qǐng)高人指點(diǎn)

作者:xurenyi 欄目:ARM技術(shù)
44b0+cpld  請(qǐng)高人指點(diǎn)
我現(xiàn)在在44B0的板子上面加了一片CPLD(AETC7128),想在7128里面通過地址譯碼產(chǎn)生外設(shè)的片選,也就是想擴(kuò)展幾個(gè)IO口,引了幾根地址線,還有GCS2,NWE和NOE,想問能不能實(shí)現(xiàn)產(chǎn)生片選,現(xiàn)在在寫7128的程序,不知道這條路行得通嗎?肯請(qǐng)高人指點(diǎn)一下思路,假設(shè)IO32是外設(shè)的地址片選,低電平有效,請(qǐng)問這樣寫可以嗎?
  IO32<=NWE OR GCS2 OR ADDR14 OR ADDR12 OR ADDR11 OR ADDR3 OR ADDR2 OR ADDR2 OR ADDR1 OR NOT ADDR0
    這樣可以產(chǎn)生地址為0x4000001的擴(kuò)展IO口嗎?
懇請(qǐng)大家給我一點(diǎn)思路或有那位大哥以前就這樣做過,那就給小弟一點(diǎn)啟發(fā)吧。。!

2樓: >>參與討論
xurenyi
在線等。
請(qǐng)大家?guī)兔Γ。。?br>
3樓: >>參與討論
xurenyi
還有一個(gè)問題,想請(qǐng)教大家。
我因?yàn)橛泻芏嗤庠O(shè)是5V的,還加了4245作雙向電平轉(zhuǎn)換,不知道為什么當(dāng)數(shù)據(jù)線經(jīng)過4245時(shí),如果4245的方向設(shè)置為雙向時(shí),那在跑程序時(shí)就會(huì)跑飛,如果只設(shè)置為輸出時(shí),就沒有什么問題,真的搞不清什么原因,懇切請(qǐng)大家指點(diǎn)。!

4樓: >>參與討論
xurenyi
自己頂一下
 
5樓: >>參與討論
hebeijiang
如果僅僅是擴(kuò)展io,不如將數(shù)據(jù)總線接入cpld將cpld直接做成io接口
這樣可以直接驅(qū)動(dòng)5v器件,不用4245進(jìn)行電平轉(zhuǎn)換。

6樓: >>參與討論
pandafeng

我用的是XILINX的芯片(XC95108)。
因?yàn)樗腎/O口電壓可以用3.3V,應(yīng)此就免了電平轉(zhuǎn)換。
對(duì)于外設(shè)的地址片選,當(dāng)然不會(huì)有問題。但我只會(huì)用ABLE,不好對(duì)
你列出的表達(dá)式說對(duì)錯(cuò)。
我還用了44b0的nWait引腳,作慢速的i/o讀寫的同步。


7樓: >>參與討論
xurenyi
謝謝樓上兄弟的指點(diǎn)。。
我其實(shí)就是想用CPLD擴(kuò)展幾個(gè)IO口,來控制幾個(gè)慢速外設(shè),在CPLD里面要出來這么幾個(gè)信號(hào):
 。保獠挎i存器的片選;
  2.外部鎖存器的鎖存信號(hào),上升沿鎖存;
 。常獠壳辶阈盘(hào);
現(xiàn)在在寫數(shù)據(jù)時(shí),可以用示波器看到數(shù)據(jù)線上有信號(hào),但就是沒鎖存. 不知道我上面寫的
  io32<=NWE OR GCS2 OR ADDR14 OR ADDR12 OR ADDR11 OR ADDR4 OR ADDR3 OR ADDR2 OR ADDR1 OR NOT ADDR0
  是否和樓上那位兄弟所說的還要加上等待 nwait 信號(hào)了?才能同步.

8樓: >>參與討論
xurenyi
請(qǐng)教pandafeng
我想你肯定做過和我相同的事情,不知是否可以再說詳細(xì)一點(diǎn),謝謝。!

9樓: >>參與討論
whbwang
我的44B0+EPM3128
用于信號(hào)隔離,包括數(shù)據(jù)輸入緩沖、輸出鎖存等。
接口是A0-A3,D0-D7,WE,OE,NGCS2
現(xiàn)在已經(jīng)可以正常工作

10樓: >>參與討論
pandafeng
建議
如果io32(鎖存信號(hào))寫成ABEL 形式是:
io32 = NEW # GCS2 # ADDR14 ... # !ADDR0;
應(yīng)該沒問題。

看看44B的rPCONB有沒有設(shè)nGCS2
把44B的系統(tǒng)時(shí)鐘降到最低,去掉芯片速度問題。
寫個(gè)死循環(huán),用示波器單獨(dú)觀察 NWE OR GCS2 是否正常。

11樓: >>參與討論
xurenyi
謝謝 pandafeng
非常感謝你的指點(diǎn),不知能否將你的44B0任何一個(gè)用擴(kuò)展IO口來讀寫外設(shè)的一個(gè)工程文件給我參考一下,非常感謝!!!
    xurenyi0@yahoo.com.cn

12樓: >>參與討論
xurenyi
謝謝 whbwang
不知你能否詳細(xì)談一下你用 A0-A3,D0-D7,WE,OE,NGCS2 這些信號(hào)怎樣得到輸出鎖存信號(hào)的,假若鎖存信號(hào)為IO32,那么它的表達(dá)式您是怎么寫的,給我參考一下,好嗎?不管是用什么語言寫的,非常感謝。!

13樓: >>參與討論
littleou
你用的vhdl還是verilog?
奇怪的寫法,給你個(gè)參考
always @(posedge iowbuf or posedge reset)//wrirte operation
     begin
    if(reset)
      begin
         dout[31:0]<=32'h0000;
      end
    else
      if(CS)
        begin
           case (AddrBus[2:0])
         3'B100 :    dout[7:0]   <= DataBus;
         3'B101 :    dout[15:8]  <= DataBus;    
         3'B110 :    dout[23:16] <= DataBus;    
         3'b111 :    dout[31:24] <= DataBus;
         default :      dout <= dout;
           endcase
      end
     end // always @ (posedge iowbuf or posedge rest)

* - 本貼最后修改時(shí)間:2005-1-18 21:27:16 修改者:littleou

14樓: >>參與討論
pandafeng
例子
鎖存器例子:(440寫入地址0x0AXXXXX1)
ABEL語法
/////////////////////////////
MODULE DECODE
Title 'DECODE'

Declarations

GPIOW PIN;
GCS5 PIN;
DB7..DB0 PIN; // 連接44B數(shù)據(jù)總線
DB = [DB7..DB0];
ADDR3..ADDR0 PIN;//44B地址

CS0 NODE ISTYPE 'COM';//地址譯碼節(jié)點(diǎn)

LATCH_Q7..LATCH_Q0 PIN ISTYPE 'REG';//觸發(fā)器
LATCH = [LATCH_Q7..LATCH_Q0];

Equations

CS0 =!GCS5 & !ADDR3 & !ADDR2 & !ADDR1 & ADDR0;

LATCH.CLK = 0;
LATCH:=0;
LATCH.AP = !GPIOW & CS0 &  DB;
LATCH.AR = !GPIOW & CS0 & !DB;

end DECODE
////////////////////////////////
44b 使用nGCS5
///////////////////////////////
#define pIOBASE    (volatile unsigned CHAR*)0x0a000000
//init nGCS5
rPCONB |= (1<<10); // PB10=nGCS5;
rBWSCON &= ~(3<<20); // bus width = 8;
//rBANKCON5 如有需要,才設(shè)置

//寫鎖存器
*(pIOBASE+1) = 0xaa;


15樓: >>參與討論
xurenyi
謝謝pandafeng 及樓上各位兄弟的指點(diǎn)
我還有一個(gè)問題想請(qǐng)教大家,現(xiàn)在我在FLASH里面寫了一個(gè)程序,復(fù)位以后可以脫機(jī)運(yùn)行了,但我發(fā)現(xiàn)當(dāng)我把其他程序載到RAM里面運(yùn)行時(shí),程序載完單步運(yùn)行以后出現(xiàn)下面的情況,
   ENTRY
    b  Resethandler
    b  handlerundef
    .......
它不能進(jìn)復(fù)位中斷向量段,跑到 b  handlerundef 那里,但我用寫到FLASH里面的工程文件作為模板文件,在SDT2.51里面,把所有的程序和頭文件加進(jìn)來鏈接所生成的映象文件到RAM里面運(yùn)行又可以單步跑.我自己覺得好像把其它的程序載進(jìn)RAM里面運(yùn)行,按全速運(yùn)行以后,它好像還是在跑FLASH里面的程序,FLSH里面的程序是控制閃燈的,當(dāng)把其它的程序載進(jìn)RAM里面運(yùn)行按全速運(yùn)行以后,燈也在閃,而RAM里面載的程序并沒有閃燈的程序,請(qǐng)大家?guī)臀曳治鲆幌拢x謝。!


16樓: >>參與討論
pandafeng
SDT251我只用過幾天!
把main改為:
void Main()
{
   while(1);
}
看看正常不?
跟蹤一下看哪里產(chǎn)生了Exception。


17樓: >>參與討論
xurenyi
請(qǐng)大家?guī)兔?br> 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
圖像采集問題請(qǐng)教。。。
44b0的公板開發(fā)板接串口的線是交叉還是直連?
ucos-ii請(qǐng)教
現(xiàn)在的2440開發(fā)板最少錢是多少.
有沒有替代S1D13806的芯片?
免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)