0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英创信息技术EM9380工控主板实时控制应用介绍

英创信息技术 来源:英创信息技术 作者:英创信息技术 2020-01-17 08:48 次阅读

EM9380是英创公司针对高速实时应用设计的一款双CPU工控主板,主CPU采用了FreeScale 454MHz ARM9 iMX283, 从CPU采用的是Atmel公司的64MHz Cortex-M3。EM9380预装了WinCE6.0操作系统,经过我们精心的设计,EM9380可实现最小为25uS 的实时控制应用。

EM9380与英创公司的另一款8串口工控主板EM9280的引出管脚高度兼容,具体可参考《EM9380与EM9280兼容设计》一文。 EM9380与EM9280的GPIO对应管脚完全一致,但在其各自复用的功能和软件操作方法上有着较大的区别。下表是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引出、支持实时控制应用的引脚,可实现高速AD、高精度PWM、数字PID、脉冲计数等高速实时控制,这正是EM9380的特色所在。

在应用程序的设计上,EM9380的GPIO20~GPIO31使用与EM9280一样的函数操作,EM9380的GPIO0~GPIO15则需要一组专门的API函数用来操作,这组API定义在mcu_api.h文件中,下面是对API函数的一个简要说明。

// 打开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位状态值。
BOOL MCU_GPIO_PinState( HANDLE hMCU, UINT32* pPinState );
// MCU GPIO操作:启动实时监控输入GPIO位状态值。
BOOL MCU_GPIO_PinMonitor( HANDLE hMCU, UINT32* pPinState, UINT32 dwPeriod );
// MCU PWM操作:启动/停止PWM通道, 启动参数包括频率、占空比和初始极性
// 输入参数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通道常规数据采集
// 输入参数dwChMode: AD通道模式= 0: 单端, = 1: 差分
// pBuf: AD数据Buffer
// dwBufSize: AD数据Buffer的长度,决定要采集的通道数, WORD长度对齐
BOOL MCU_ADC_Generic( HANDLE hMCU, DWORD dwChMode, WORD *pBuf, DWORD dwBufSize );
// MCU 等待实时数据。
// return TRUE: 接收到实时数据
// FALSE: no
BOOL WaitForData( HANDLE hMCU, DWORD dwTimeout );
// 功能: 读取实时数据命令数据
// 返回值:MCU实时数据类型编号
// <0: 无数据 
// =1: TYPE_MCU_GPIO_INFO
// =2: TYPE_MCU_ADC_INFO
DWORD MCU_Read( HANDLE hMCU, LPVOID pBuffer, DWORD Count );

“EM9380开发光盘\Sortware\C例程”目录下的Mcu_TestSDK工程,详细展示了上面API函数的使用方法,在使用这些API函数前,需要在自己的工程中链接对应的库文件“mcusdk.lib”。
#pragma comment( lib, 'mcusdk.lib' )

mcusdk.lib实际上是为了方便用户使用MCU功能(MCU即EM9380的从CPU)做的二次封装,在mcusdk.lib库内部依然调用的是标准流式驱动接口函数,比如通过CreateFile打开驱动句柄,通过DeviceIoControl与MCU驱动交互。利用这些标准驱动接口函数,用户可以使用EM9380从CPU的更多高级功能,我们已经做了一些EM9380在高速实时控制方面应用的案例,这些例子演示了通过标准驱动接口函数操作MCU的方法。

相关阅读:

《EM9380多通道AD数据采集》
《EM9380多路任意脉冲发生器及应用》

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6085

    浏览量

    35196
收藏 人收藏

    评论

    相关推荐

    国产工控主板有什么优势、特点?

    随着国产工控主板的发展,国内企业也在不断开发新的工控主板,为了满足国内企业的发展需求,一些国产工控主板
    的头像 发表于 11-15 10:11 73次阅读

    ​什么是国产工控主板,国产工控主板的特点有哪些?

    什么是国产工控主板呢?国产工控主板是工业计算机的主板,是一种计算机系统的硬件设备,是专门为工业控制
    的头像 发表于 11-07 10:29 93次阅读

    国产工控主板,信产业发展新引擎

    在当今科技飞速发展的时代,信产业正成为国家战略的重要支撑。而我们的国产工控主板,以其卓越的性能和可靠的品质,为信产业的发展注入强大动力。国产工控
    的头像 发表于 11-06 10:29 140次阅读

    中科达荣获2024年软件和信息技术服务优秀企业

    及前百家企业”名单。中科达凭借非凡的技术实力与持续的创新能力,成功入选“2024年度软件和信息技术服务竞争力百强企业”以及“2024年软件和信息技术服务优秀企业”。
    的头像 发表于 10-30 11:44 371次阅读

    工控主板有哪些特点?

     工控主板是用于工业控制领域的专用主板,具有以下特点: 稳定性:工控主板通常经过严格的测试和优化
    的头像 发表于 10-10 08:55 205次阅读

    工控主板在工业控制中扮演什么角色

    工控主板在工业控制中扮演着至关重要的角色,它是工业控制系统的核心组件,负责连接、控制和管理各种工业设备,实现自动化生产和智能化管理。具体来说
    的头像 发表于 09-29 09:36 208次阅读

    国产化背景下的工控主板发展现状

    ,是信息技术应用创新产业的简称,于2016年“信工委会”(信息技术应用创新工作委员会)提出,目的就是要推动我们国内软硬件关键技术的研发
    的头像 发表于 09-21 16:15 316次阅读

    工控主板在环保智能设备中的应用

    工控主板在环保智能设备中的应用,对于环境监测、资源管理、污染控制等方面起到了至关重要的作用。以下是工控主板在环保智能设备中的一些具体应用:
    的头像 发表于 07-17 15:54 286次阅读
    <b class='flag-5'>工控</b><b class='flag-5'>主板</b>在环保智能设备中的应用

    安卓工控主板在冶金行业的应用特点

    安卓工控主板在冶金行业的应用,体现了其在极端环境下的高适应性和在数据处理、实时监控、自动化控制方面的优势。以下是安卓工控
    的头像 发表于 07-03 15:16 297次阅读

    浅析安卓工控主板的优势

    安卓工控主板作为专为工业控制领域设计的硬件平台,相较于普通商用主板,拥有诸多优势,以满足工业环境对稳定、可靠、长期运行的严格要求。以下是安卓工控
    的头像 发表于 06-27 14:50 302次阅读

    使用工控主板时该注意哪些事项?

    最近大家都在频繁问一个问题就是工控主板在什么人为情况下容易出现故障,从而造成工控主板的损坏,那今天小编就来讲讲,我们在使用工控
    的头像 发表于 06-05 16:01 351次阅读
    使用<b class='flag-5'>工控</b><b class='flag-5'>主板</b>时该注意哪些事项?

    工控主板容易出现故障的原因有哪些?

    最近大家都在频繁问一个问题就是工控主板在什么人为情况下容易出现故障,从而造成工控主板的损坏,那今天小编就来讲讲,我们在使用工控
    的头像 发表于 05-17 10:57 322次阅读

    工控主板的性能指标有哪些?

    工控主板是工业控制领域中的关键组成部分,它承载着工控系统的核心功能。因此,工控主板的性能指标是评
    的头像 发表于 05-10 16:27 859次阅读
    <b class='flag-5'>工控</b><b class='flag-5'>主板</b>的性能指标有哪些?

    工控主板和普通主板的区别有哪些

    工控主板和普通主板是两种在计算机硬件领域中常见的主板类型,它们在设计、功能和用途上有着明显的区别。工控
    的头像 发表于 04-25 16:54 1139次阅读
    <b class='flag-5'>工控</b><b class='flag-5'>主板</b>和普通<b class='flag-5'>主板</b>的区别有哪些

    关于PXIE主板控制工控机主板原理资料

    电子发烧友网站提供《关于PXIE主板控制工控机主板原理资料.pdf》资料免费下载
    发表于 02-26 15:22 3次下载