專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開發(fā)工具、應(yīng)用測(cè)試 完善的開發(fā)代碼案例庫分享
從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!
提供新的芯片及解決方案,提升客戶產(chǎn)品競(jìng)爭(zhēng)力
提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)
單片機(jī)開發(fā)商深圳英銳恩分享基于CH365的PIC單片機(jī)通信卡的設(shè)計(jì) 。
深圳市英銳恩科技有限公司(www.traavell.com)為單片機(jī)技術(shù)服務(wù)\開發(fā)設(shè)計(jì)和產(chǎn)品代理商,授權(quán)MDT(麥肯 MICON)單片機(jī)A級(jí)代理商,MICROCHIP產(chǎn)品全系列單片機(jī)與模擬器件授權(quán)推廣
商。同時(shí)A級(jí)代理分銷NOVACAP、Syfer、Voltronics精密可調(diào)電容、DLI寬帶隔直微波電容,專注分銷AIC沛亨半導(dǎo)體(電源管理IC)、IR(場(chǎng)效應(yīng)管)。
如:
MDT10P72(完全兼容PIC16C72、PIC16F72、HA3089,直接替換,不要任何硬軟與軟件修改)
特性:ROM:2K,腳位:28PIN,I/O:22PIN,A/D:8bit 5通道,復(fù)位時(shí)間極快.2V,低電壓工作.低功耗,溫度范圍寬。
MDT10P721(完全兼容PIC16C72、PIC16F72、HA3089,空間大,價(jià)格低,直接替換,不要任何硬軟與軟件修改)
特性:ROM:4K,腳位:28PIN,I/O:22PIN,A/D:8bit 5通道,復(fù)位時(shí)間極快.2V,低電壓工作.低功耗,溫度范圍寬。
基于CH365的PIC通信卡的設(shè)計(jì)
PCI是先進(jìn)的高性能局部總線,可同時(shí)支持多組外圍設(shè)備。PCI局部總線不受制于處理器,為中央處理器及高速外圍設(shè)備提供數(shù)據(jù)傳輸通道,進(jìn)行總線之間數(shù)據(jù)傳輸?shù)恼{(diào)度管理,PCI采用高度綜合化的局部總線結(jié)構(gòu),以確保計(jì)算機(jī)中各部件、附加卡及系統(tǒng)之間的可靠運(yùn)行。基于現(xiàn)在市場(chǎng)上PCI芯片有PLX公司及AMCC公司的器件,他們?cè)谟布O(shè)計(jì)周期以及驅(qū)動(dòng)程序開發(fā)上對(duì)于初學(xué)者來講都存在一定困難。CH365是一個(gè)連接PCI總線的通用接口芯片,支持I/O端口映射、存儲(chǔ)器映射、擴(kuò)展ROM以及中斷。CH365將32位高速PCI總線轉(zhuǎn)換為簡(jiǎn)便易用的類似于ISA總線的8位主動(dòng)并行接口,用于制作低成本的基 于PCI總線的計(jì)算機(jī)板卡、以及將原先基于ISA總線的板卡升級(jí)到PCI總線上。另外CH365不論在設(shè)計(jì)難度、開發(fā)周期、ISA移植,還是在價(jià)格上都有其自身優(yōu)越性,所以CH365應(yīng)用非常廣泛,例如適用于高速實(shí)時(shí)的I/O控制卡、通訊接口卡、數(shù)據(jù)采集卡、電子盤、擴(kuò)展ROM卡等。
1 CH365的特點(diǎn)
(1)可以設(shè)定PCI板卡的設(shè)備標(biāo)識(shí)(Vendor ID,Device ID,Class Code等)。
(2)支持以字節(jié)、字或雙字為單位對(duì)I/O端口或者存儲(chǔ)器進(jìn)行讀寫。
(3)自動(dòng)分配I/O基址,支持長(zhǎng)達(dá)240B的I/O端口。
(4)支持本地硬件定址功能,自由選擇I/O地址,在指定地址實(shí)現(xiàn)I/O端口。
(5)直接升級(jí)ISA的I/O板卡到PCI總線,完全不需要修改原ISA卡的相關(guān)軟件。
(6)直接映射支持容量為32kB的存儲(chǔ)器SRAM或者擴(kuò)展ROM(Boot ROM)。
(7)無需外接元器件擴(kuò)容支持容量為64kB以及128kB的存儲(chǔ)器或者擴(kuò)展ROM。
(8)支持?jǐn)U展ROM無硬盤引導(dǎo),支持閃存Flash Memory在線升級(jí)。
(9)可以提供擴(kuò)展ROM應(yīng)用的子程序庫BRM,用于BIOS環(huán)境下用戶界面顯示及數(shù)據(jù)處理。
(10)支持低電平有效的本地中斷請(qǐng)求,支持中斷共享。
(11)提供兩線串行主機(jī)接口,可以掛接類似24C0X的兩線串口E2PROM器件。
(12)內(nèi)置4μs-1ms的硬件計(jì)時(shí)單元,用于軟件運(yùn)行過程中作為延時(shí)參考。
(13)芯片本身無需驅(qū)動(dòng)程序即可工作,升級(jí)ISA板卡可以不需要驅(qū)動(dòng)程序。
2 空間映射
PC機(jī)中包括3種空間:存儲(chǔ)器空間、I/O空間、配置空間。存儲(chǔ)器空間主要包括內(nèi)存、顯存、擴(kuò)展ROM、設(shè)備緩沖區(qū)等,一般用于存放大量數(shù)據(jù)和進(jìn)行數(shù)據(jù)塊交換。I/O空間主要包括設(shè)備的控制寄存器和狀態(tài)寄存器,一般用于控制和查詢?cè)O(shè)備的工作狀態(tài)以及少量數(shù)據(jù)的交換。配置空間主要用于向系統(tǒng)提供設(shè)備自身的基本信息,并接受系統(tǒng)對(duì)設(shè)備全局狀態(tài)的控制和查詢。為了避免地址沖突,PCI總線要求各個(gè)設(shè)備所占用的地址能夠重定位。重定位是由設(shè)備的配置空間的基址寄存器實(shí)現(xiàn)的,通常情況下,各個(gè)設(shè)備的基址寄存器總是被BIOS或者操作系統(tǒng)分配為不同的基址,從而將各個(gè)設(shè)備分別映射到不同的地址范圍。在需要時(shí),應(yīng)用程序也可以自行修改基址。CH365的存儲(chǔ)器空間占用32kB,偏移地址是0000H-7FFFH,可以全部提供給外部設(shè)備使用,實(shí)際地址是存儲(chǔ)器基址加上偏移地址。CH365的I/O空間占用256kB,去掉CH365自用寄存器,還可以提供240B給外部設(shè)備使用,偏移地址是00H-EFH,實(shí)際地址是I/O基址加上偏移地址。
PCI卡制作及PCB圖設(shè)計(jì)注意事項(xiàng)
PCI總線工作在高頻環(huán)境中,傳送線在信號(hào)線上驅(qū)動(dòng)電壓變化時(shí)會(huì)出現(xiàn)阻抗,信號(hào)線的寬度和到接地的距離都會(huì)影響其阻抗,所以在設(shè)計(jì)PCB時(shí)需要參考PCI總線規(guī)范,特別要注意考慮信號(hào)阻抗匹配,具體有以下幾點(diǎn)作為參考:
(1)在32位PCI總線中,除了信號(hào)線外,還有2個(gè)卡存在信號(hào):PRSNT1#和PRSNT2#。PCI板卡設(shè)計(jì)者在卡存在信號(hào)上對(duì)卡的最大電源需求進(jìn)行編碼,當(dāng)卡被插在PCI插槽中時(shí),他將其中至少一個(gè)或所有兩個(gè)卡存在信號(hào)接地。
(2)對(duì)于32位PCI總線的所有信號(hào),其最大電路長(zhǎng)度限定在1.5in(約38mm)以內(nèi)。建議在設(shè)計(jì)PCB時(shí),PCI信號(hào)線的長(zhǎng)度都小于25mm,盡量走弧線或者45°線,避免走直角或者銳角走線,并且盡量將走線布在元件面,而PCB背面保留大面積的接地覆銅,以降低傳送線的阻抗。
(3)PCI總線的CLK信號(hào)線的長(zhǎng)度要求是2.5in(約83mm)左右,并且只能與卡上一個(gè)負(fù)載連接。建議CLK信號(hào)線的長(zhǎng)度盡量保持在50-85mm之間,并且不宜靠近其他信號(hào)線,為減少周邊信號(hào)線的干擾,在CLK兩側(cè)及PCB背面布置接地線或者覆銅。
(4)CH365有3對(duì)電源引腳,至少需要3個(gè)電源退耦電容。
(5)與PCI插槽連接的電源線引腳可以自由選擇,但數(shù)量不宜少于4對(duì)。當(dāng)板卡的電源消耗較大時(shí),可以多增加幾對(duì)電源線,通過多點(diǎn)接觸提供穩(wěn)定的大電流。
4.3 硬件中斷功能介紹
CH365芯片具有軟件和硬件中斷功能,與中斷功能有關(guān)的2個(gè)引腳分別是PCI_INTA和SYS_EX。如果CH365的數(shù)據(jù)線D3連接了下拉電阻,則工作模式設(shè)定為啟用中斷功能,SYS_EX引腳自動(dòng)復(fù)用為INT_REQ,作為本地中斷請(qǐng)求輸入引腳,低電平有效,外部電路需要請(qǐng)求計(jì)算機(jī)中斷時(shí)只要向該引腳提供低電平脈沖。PCI_INTA總是作為PCI中斷三態(tài)輸出引腳,不用中斷功能時(shí)可以懸空不接,需要中斷功能時(shí)可以與PCI總線的INTA相連接,低電平有效,中斷激活時(shí)輸出低電平,中斷未激活時(shí)輸出高阻。
5 應(yīng)用程序介紹
(1)接收數(shù)據(jù)子程序
CH365OpenDevice(true,true);
mPCH365_IO_REG mIoBase;
CH365GetIoBaseAddr(&mIoBase);
//CH365WriteIoByte(&mIoBase->mCH365IoPort
[0x0FA],71);//* * * * * * * * * *
UCHAR data1;
CH365ReadIoByte(&mIoBase->mCh365IoPort[m_PortNumR],&data1);m_DataR=data1;
(2)發(fā)送數(shù)據(jù)子程序
CH365OpenDevice(true,true);
mPCH365_IO_REG mIoBase;
CH365GetIoBaseAddr(&mIoBase);
CH365WriteIoByte(&mIoBase->mCh365IoPort[m_PortNumW],m_DataW);
本文采用南京沁恒公司提供的PCI接口芯片CH365實(shí)現(xiàn)了PCI通信卡的設(shè)計(jì),在使用中測(cè)的實(shí)際傳輸率為10MB/s左右,工作穩(wěn)定可靠,完全可以滿足一般數(shù)據(jù)量傳輸不是非??斓膱?chǎng)合。