你好,CH368有16位數據線,資料中:“CH368 的存儲器空間占用 32K 字節(jié),偏移地址是 0000H~7FFFH,可以全部提供給外部設備使用,實際地址是存儲器基址加上偏移地址。CH368 的 I/O 空間占用 256 字節(jié),去掉 CH368 自用寄存器,還可以提供 232 字節(jié)給外部設備使用,偏移地址是 00H~E7H,實際地址是 I/O 基址加上偏移地址。 ” 偏移地址是 0000H~7FFFH,而且再加地址線是16根也就是最大可以輸出FFFF了,但這個每臺電腦基地址不一樣,比如我PCIe插上電腦的基地址是D000,那這樣最大偏移地址就是2FFF,是這樣理解的嗎?謝謝。
以I/O空間為例:若計算機上給CH368分配的IO基地址是D000,則可以訪問到CH368的IO空間的地址范圍是:D000~D0FF,232個字節(jié)用于外部設備通訊的地址為:D000~D0E7。
這么說,地址線只用到了第8根,那么為什么還做16根地址線勒?
如果是IO讀寫,實際只需要用到8位地址。如果是Memory讀寫,則需要用到高位地址線。
哦哦 了解了。
目前我對CH368 +FPGA做了一個PCIe卡,卡上沒有Memory,想用IO讀寫,讀取一串AD數據,比如1024個,目前我理解是CH368上位機每讀取個數據就需要發(fā)送一個地址,讓FPGA把數據傳輸到與CH368連接上,CH368被動讀取,感覺有點麻煩, 我在想可以不可這樣實現勒,FPGA把1024個數據接收成功后,產生一個中斷,CH368一次性輪流接收1024個數據,或有沒有別的方法實現勒?謝謝,
如果是和FPGA通信也可以忽略地址線,直接讀寫數據線內容即可。可以用CH368的中斷信號線用作被動通知的信號,但需要注意數據需要一直緩存在FPGA內部,直至接收到IO_RD的信號后總線才輸出數據。
是的,我是想AD采集的數據提前送到FPGA的自建ram數組中暫存。例如1024個數據,IO_RD的信號是上位機每次讀操作后,IO_RD信號才有一個,也就是說每次IO_RD信號一次傳輸一個數據,這樣我上位機就要讀取1024次,有沒有連續(xù)讀取的操作命令,設定讀取次數1024,上位機RD一次就把所有數據讀取。
“可以用CH368的中斷信號線用作被動通知的信號”這個怎么用有案例參考沒?謝謝
"提示:當選擇字或者雙字方式讀寫時,地址和數據長度需要分別為2或4的倍數,HEX單位"? 為什么要這個規(guī)則勒?
根據之前上面回復:232個字節(jié)用于外部設備通訊的地址為:D000~D0E7,如果是IO讀寫,實際只需要用到8位地址,也就是說偏移地址是00~E7,地址是固定的,比如地址11,這樣數據長度也就只能是1,4,8嗎?就不能接收更多的數據了嗎?謝謝
Q:"提示:當選擇字或者雙字方式讀寫時,地址和數據長度需要分別為2或4的倍數,HEX單位"? 為什么要這個規(guī)則勒?
A:這個規(guī)則取決于軟件操作方式,一次操作多少字節(jié)。此規(guī)則由計算機操作和芯片內部尋址決定。
Q:關于地址問題的理解?
A:前面已經描述過,如果是操作非存儲類器件,是可以不使用地址線的。如要從FPGA讀取1024個字節(jié)數據,可以從固定的IO地址直接讀取1024次即可。
方便也可以直接聯系我們技術支持。
好的,現在我在開發(fā)調試上位機窗口,待調試時直接和你們技術電話聯系。謝謝