EM9380是英創(chuàng)公司針對高速實時應用設計的一款雙CPU工控主板,主CPU采用了FreeScale 454MHz ARM9 iMX283, 從CPU采用的是Atmel公司的64MHz Cortex-M3。EM9380預裝了WinCE6.0操作系統(tǒng),經(jīng)過我們精心的設計,EM9380可實現(xiàn)最小為25uS 的實時控制應用。
EM9380與英創(chuàng)公司的另一款8串口工控主板EM9280的引出管腳高度兼容,具體可參考《EM9380與EM9280兼容設計》一文。 EM9380與EM9280的GPIO對應管腳完全一致,但在其各自復用的功能和軟件操作方法上有著較大的區(qū)別。下表是EM9380與EM9280 32位GPIO以及各自復用功能的對比。
PIN# | 信號名稱 | EM9280復用功能 | EM9380復用功能 |
CN1_27 | GPIO0 | COM2口CTS# | 復用定時器功能 |
CN1_28 | GPIO1 | COM2口RTS# | 復用定時器功能 |
CN1_29 | GPIO2 | 復用定時器功能 | |
CN1_30 | GPIO3 | 復用定時器功能 | |
CN1_31 | GPIO4 | PWM3 | |
CN1_32 | GPIO5 | PWM4 | |
CN1_33 | GPIO6 | PWM1 | PWM5 |
CN1_34 | GPIO7 | PWM2 | PWM6 |
CN1_35 | GPIO8 | AD0通道輸入 | |
CN1_36 | GPIO9 | AD1通道輸入 | |
CN2_15 | GPIO10 | COM6口RXD | AD2通道輸入 |
CN2_16 | GPIO11 | COM6口TXD | AD3通道輸入 |
CN2_17 | GPIO12 | AD4通道輸入 | |
CN2_18 | GPIO13 | AD5通道輸入 | |
CN2_19 | GPIO14 | AD6通道輸入 | |
CN2_20 | GPIO15 | AD7通道輸入 | |
CN2_21 | GPIO16 | COM2口CTS# | |
CN2_22 | GPIO17 | COM2口RTS# | |
CN2_23 | GPIO18 | COM6口RXD | |
CN2_24 | GPIO19 | COM6口TXD | |
CN2_25 | GPIO20 | PWM3 | PWM1 |
CN2_26 | GPIO21 | PWM4 | PWM2 |
CN2_27 | GPIO22 | I2C_SDA | I2C_SDA |
CN2_28 | GPIO23 | I2C_SCL | I2C_SCL |
CN2_29 | GPIO24 | IRQ1 | IRQ1 |
CN2_30 | GPIO25 | IRQ2 | IRQ2 |
CN2_31 | GPIO26 | IRQ3 | IRQ3 |
CN2_32 | GPIO27 | IRQ4 | IRQ4 |
CN2_33 | GPIO28 | SPI_MISO | SPI_MISO |
CN2_34 | GPIO29 | SPI_MOSI | SPI_MOSI |
CN2_35 | GPIO30 | SPI_SCLK | SPI_SCLK |
CN2_36 | GPIO31 | SPI_CS0N | SPI_CS0N |
從上表可以看出EM9380與EM9280的GPIO20~GPIO31功能完全一樣。而EM9380的GPIO0~GPIO15是從Cortex-M3從CPU引出、支持實時控制應用的引腳,可實現(xiàn)高速AD、高精度PWM、數(shù)字PID、脈沖計數(shù)等高速實時控制,這正是EM9380的特色所在。
在應用程序的設計上,EM9380的GPIO20~GPIO31使用與EM9280一樣的函數(shù)操作,EM9380的GPIO0~GPIO15則需要一組專門的API函數(shù)用來操作,這組API定義在mcu_api.h文件中,下面是對API函數(shù)的一個簡要說明。
// 打開MCU操作單元,獲取MCU的句柄。
HANDLE OpenMCU( int Index );
// 關閉MCU操作單元
BOOL CloseMCU( HANDLE hMCU );
// 獲取MCU的版本信息。
BOOL MCU_GetVInfo( HANDLE hMCU, PMCU_VER_INFO pMCU_VInfo );
// MCU GPIO操作:設置相關的GPIO位為輸出IO。
BOOL MCU_GPIO_OutEnable( HANDLE hMCU, UINT32 dwEnBits );
// MCU GPIO操作:設置相關的GPIO位為輸入IO。
BOOL MCU_GPIO_OutDisable(HANDLE hMCU, UINT32 dwDisBits );
// MCU GPIO操作:設置輸出GPIO位輸出高位。
BOOL MCU_GPIO_OutSet( HANDLE hMCU, UINT32 dwSetBits );
// MCU GPIO操作:設置輸出GPIO位輸出低位。
BOOL MCU_GPIO_OutClear( HANDLE hMCU, UINT32 dwClearBits );
// MCU GPIO操作:獲取相關輸入GPIO位狀態(tài)值。
BOOL MCU_GPIO_PinState( HANDLE hMCU, UINT32* pPinState );
// MCU GPIO操作:啟動實時監(jiān)控輸入GPIO位狀態(tài)值。
BOOL MCU_GPIO_PinMonitor( HANDLE hMCU, UINT32* pPinState, UINT32 dwPeriod );
// MCU PWM操作:啟動/停止PWM通道, 啟動參數(shù)包括頻率、占空比和初始極性
// 輸入?yún)?shù)dwCh: PWM通道號, = 3, 4, 5, 6
// dwFreq: PWM輸出頻率,單位Hz
// dwDuty: PWM輸出占空比,單位.1%, 輸入范圍= 0-1000
// dwPol: PWM初始極性,= 0: 低電平, = 1: 高電平
BOOL MCU_PWM_CHANNEL( HANDLE hMCU, DWORD dwCh, DWORD dwFreq, DWORD dwDuty, DWORD dwPol );
// MCU ADC操作:啟動ADC通道常規(guī)數(shù)據(jù)采集
// 輸入?yún)?shù)dwChMode: AD通道模式= 0: 單端, = 1: 差分
// pBuf: AD數(shù)據(jù)Buffer
// dwBufSize: AD數(shù)據(jù)Buffer的長度,決定要采集的通道數(shù), WORD長度對齊
BOOL MCU_ADC_Generic( HANDLE hMCU, DWORD dwChMode, WORD *pBuf, DWORD dwBufSize );
// MCU 等待實時數(shù)據(jù)。
// return TRUE: 接收到實時數(shù)據(jù)
// FALSE: no
BOOL WaitForData( HANDLE hMCU, DWORD dwTimeout );
// 功能: 讀取實時數(shù)據(jù)命令數(shù)據(jù)
// 返回值:MCU實時數(shù)據(jù)類型編號
// <0: 無數(shù)據(jù)?
// =1: TYPE_MCU_GPIO_INFO
// =2: TYPE_MCU_ADC_INFO
DWORD MCU_Read( HANDLE hMCU, LPVOID pBuffer, DWORD Count );
“EM9380開發(fā)光盤\Sortware\C例程”目錄下的Mcu_TestSDK工程,詳細展示了上面API函數(shù)的使用方法,在使用這些API函數(shù)前,需要在自己的工程中鏈接對應的庫文件“mcusdk.lib”。
#pragma comment( lib, 'mcusdk.lib' )
mcusdk.lib實際上是為了方便用戶使用MCU功能(MCU即EM9380的從CPU)做的二次封裝,在mcusdk.lib庫內(nèi)部依然調(diào)用的是標準流式驅(qū)動接口函數(shù),比如通過CreateFile打開驅(qū)動句柄,通過DeviceIoControl與MCU驅(qū)動交互。利用這些標準驅(qū)動接口函數(shù),用戶可以使用EM9380從CPU的更多高級功能,我們已經(jīng)做了一些EM9380在高速實時控制方面應用的案例,這些例子演示了通過標準驅(qū)動接口函數(shù)操作MCU的方法。
相關閱讀:
《EM9380多通道AD數(shù)據(jù)采集》
《EM9380多路任意脈沖發(fā)生器及應用》
-
嵌入式主板
+關注
關注
7文章
6100瀏覽量
36242
發(fā)布評論請先 登錄
科普|信創(chuàng)是什么?一文讀懂“信息技術應用創(chuàng)新”戰(zhàn)略

信創(chuàng)浪潮下,國產(chǎn)主板有什么新的發(fā)展機遇?

工控主板特點與應用場景介紹

工控主板在數(shù)控機床設備中的應用
工業(yè)級主板和工控級主板的區(qū)別?
國產(chǎn)工控主板有什么優(yōu)勢、特點?
?什么是國產(chǎn)工控主板,國產(chǎn)工控主板的特點有哪些?
國產(chǎn)工控主板,信創(chuàng)產(chǎn)業(yè)發(fā)展新引擎
中科創(chuàng)達榮獲2024年軟件和信息技術服務優(yōu)秀企業(yè)
國產(chǎn)工控主板,工業(yè)領域的堅實基石
工控主板有哪些特點?
工控主板在工業(yè)控制中扮演什么角色
信創(chuàng)國產(chǎn)化背景下的工控主板發(fā)展現(xiàn)狀
探索國產(chǎn)工控主板:接口類型全解析

工控主板在環(huán)保智能設備中的應用

評論