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

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

3天内不再提示

英创信息技术工业主板EM9160介绍

英创信息技术 来源:英创信息技术 作者:英创信息技术 2020-01-14 11:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

英创EM9160 ARM9工业主板具有丰富的GPIO资源,通过GPIO来实现SPI,I2C的数据传输,具有使用非常灵活的优点,同时最高波特率还可达到1Mbps以上。I2C在智能终端中的应用非常普遍,如I2C总线时钟芯片,I2C总线存贮器等。之前已对I2C总线操作铁电存贮器有过说明,相关文章请参考《工控主板支持铁电存储器的简易方案》。英创公司的EM9160工业主板的高性价比与高可靠性,使其在智能终端中的应用中越来越具优势。为了更进一步说明EM9160工业主板使用GPIO来摸拟I2C总线的应用,本文对具有自动温度补偿的实时钟RX8025的操作为例来说明。对于I2C总来来说,最重要的是同步时钟与数据之间的时间关系,为了便于用户直接使用,英创公司将GPIO摸拟I2C的操作过程进行了封装,提供最简洁的函数作为接口,被定义在I2C的头文件GPIO_I2C.h中,如下所示:
// 初始化I2C总线,主要是设置所使用的GPIO的输出状态
int I2C_Init ( );
// 通过I2C写数据
// 输入参数
// uDevAddr I2C器件的物理地址
// uRegIdx 要操作的I2C器件内部的寄存器地址
// abyte 要写入到I2C的数据
// 返回值:>=0 操作成功
// =-1 操作失败
int I2C_ByteWrite(UCHAR uDevAddr, UCHAR uRegIdx, UCHAR abyte);
// 通过I2C读取数据
// 输入参数
// uDevAddr I2C器件的物理地址
// uRegIdx 要操作的I2C器件内部的寄存器地址
// pBuf 所读取的数据的输出BUFF
// DataLen 要读数据的个数
// 返回值:>=0 操作成功 即读取出来的有效数据
// =-1 操作失败
int I2C_ByteRead(UCHAR uDevAddr, UCHAR uRegIdx, UCHAR* pBuf, int DataLen);
实现I2C通讯过程控制的源代码在GPIO_I2C.cpp中,同时在该文件中定义了I2C总线能够使用的引脚资源及I2C总线SCL、SDA所使用的信号定义:
#define GPIO0 0x01
#define GPIO1 0x02
#define GPIO2 0x04
#define GPIO3 0x08
#define GPIO4 0x10
#define GPIO5 0x20
#define GPIO6 0x40
#define GPIO7 0x80
#define GPIO8 0x100
#define GPIO9 0x200
#define GPIO10 0x400
#define GPIO11 0x800
#define GPIO12 0x1000
#define GPIO13 0x2000
#define GPIO14 0x4000
#define GPIO15 0x8000
#define SCL GPIO6 // GPIO6 被定义为I2C时钟信号线
#define SDA GPIO7 // GPIO7 被定义为I2C数据线
在使用EM9160工业主板的GPIO来实现I2C总线通讯时,同步时钟能稳定地工作在250KHz。要注意I2C的两个信号线,分别为同步时钟信号线SCL与双向通讯数据线SDA,这两条信号线所使用的GPIO被定义在GPIO_I2C.CPP文件中,如上面所示。在使用时根据实际情况,只需重新定义SCL和SDA信号所使用的GPIO即可。下面是调用GPIO_I2C中的操作函数实现时实钟RX8025操作的调用方法:
// 时钟寄存器数据读取
int RTC_ByteRead( unsigned char REG_Addr , unsigned char *pBuf , int iLen)
{
UCHAR cRByte;
int i1 ;
cRByte = REG_Addr<<4; // 根据RX8025的要求,寄存器地址放在高4位
i1 = I2C_ByteRead( RX8025_ADDR , cRByte , pBuf , iLen );
return i1;
}
// 时钟寄存器数据设置
int RTC_ByteWrite( unsigned char REG_Addr, unsigned char Value )
{
UCHAR cRByte;
int i1;

cRByte = REG_Addr<<4;
i1 = I2C_ByteWrite( RX8025_ADDR , cRByte , Value );
if( i1 == -1 )
return -1;
return 1;
}
再次调用以上两个实时钟读写操作函数则可轻实现现对RX8025的操作,如下:
// 只读取控制寄存器2
i1 = RTC_ByteRead ( Reg_Contor2 , &cTmp , 1 );
// 从秒地址开始将年、月、日、时、分、秒、星期的数据一次性读出
i1 = RTC_ByteRead( Reg_Second , cTmp , 7 );
// 设置时间寄存器“年”为10年
i1 = RTC_ByteWrite( Reg_Year , 0x10 );
对于I2C总线协议,请参考相关的参考资料。英创公司提供的GPIO摸拟I2C总线的程序适用于英创公司所有的嵌入式主板,感兴趣的客户可向英创索要相关源代码。

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

    关注

    7

    文章

    6107

    浏览量

    37204
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    探索AIMB - 769工业主板:性能与功能的完美融合

    探索AIMB - 769工业主板:性能与功能的完美融合 在工业主板的领域中,AIMB - 769以其卓越的性能和丰富的功能脱颖而出。作为一名电子工程师,今天我将深入剖析这款主板,为大家详细介绍
    的头像 发表于 05-12 16:20 109次阅读

    探索AIMB - 567工业主板:性能与特性解析

    探索AIMB - 567工业主板:性能与特性解析 在工业主板的领域中,AIMB - 567以其丰富的功能和出色的性能脱颖而出。今天,我们就来深入探讨这款主板的各项特性、规格以及相关配件,为电子工程师
    的头像 发表于 05-12 16:10 115次阅读

    龙芯工业主板选型参考:四大优质产品与核心优势解析

    在国产工业硬件国产化浪潮中,龙芯工业主板凭借自主架构、稳定可靠的特性,成为能源、交通、政务等关键领域的核心选择。所谓 “排行” 并非绝对名次,而是基于技术实力、应用适配性等维度的客观推荐。以下为大家
    的头像 发表于 11-09 14:16 1050次阅读

    工业主板VS商用主板:五大核心差异,选对才能高效运行

    工业自动化、智能制造、物联网等领域,工业主板作为核心控制单元,承担着数据处理、设备联动、指令传输等关键任务,其稳定性、可靠性和适应性直接决定了整个工业系统的运行效率。与我们日常电脑中使用的商用
    的头像 发表于 11-07 15:45 846次阅读
    <b class='flag-5'>工业主板</b>VS商用<b class='flag-5'>主板</b>:五大核心差异,选对才能高效运行

    工业主板:智慧工业时代的 “硬核大脑”

    工业4.0与智能制造深度融合的今天,从汽车工厂的自动化产线到医院的精密影像设备,从城市的智能交通系统到云端的数据边缘节点,各类工业设备的高效运转都离不开一枚核心硬件的支撑——工业主板。作为
    的头像 发表于 10-22 17:13 922次阅读
    <b class='flag-5'>工业主板</b>:智慧<b class='flag-5'>工业</b>时代的 “硬核大脑”

    工业主板:智能制造与严苛环境的坚实基石

    在自动化生产线的精细控制、智能交通系统的稳定运行、医疗影像设备的可靠运转背后,工业主板扮演着不可或缺的重要角色。它不同于我们日常使用的消费级电脑主板,是为应对复杂严苛的工业环境而生的”专业心脏
    的头像 发表于 09-25 15:14 669次阅读
    <b class='flag-5'>工业主板</b>:智能制造与严苛环境的坚实基石

    工业级可靠性护航智能制造:深入解析工业主板的关键价值与选型指南

    在智能制造厂房中,24小时运转的生产线上,一台关键工控机突然宕机。技术人员排查发现,高温环境下普通主板电容爆裂导致系统瘫痪,整条生产线停工,每分钟损失上万元。这种真实的生产阵痛,恰恰凸显了工业主板
    的头像 发表于 09-09 18:26 744次阅读
    以<b class='flag-5'>工业</b>级可靠性护航智能制造:深入解析<b class='flag-5'>工业主板</b>的关键价值与选型指南

    ​工控主板和商业主板的区别是什么?

    工控主板是专为工业控制领域设计的计算机核心部件,采用耐高温、抗潮湿的工业级元器件,支持在-20°C至60°C宽温、高湿、强电磁干扰等恶劣环境中长时间稳定运行。商业主板是为满足日常办公、
    的头像 发表于 07-30 09:29 1058次阅读

    飞腾主板为信产业发展提高硬实力

    信息技术飞速发展的当下,信产业已成为我国实现科技自立自强、保障国家信息安全的关键领域。信,即信息技术应用创新,其核心目标是实现
    的头像 发表于 07-22 18:20 882次阅读

    新一代RK3576工业主板:IB3-708-V0

    工业主板
    杰和科技
    发布于 :2025年07月01日 14:34:58

    工业主板玩转AI:RK3576对比RK3588主板,谁更适配您的需求

    质检系统可以自动识别产品缺陷,极大地降低了人工检测的成本和误差。工业主板如何助力智能设备实现AI应用?工业主板集成了处理器、内存、存储等硬件资源,作为智能设备的“神
    的头像 发表于 06-09 15:48 1817次阅读
    <b class='flag-5'>工业主板</b>玩转AI:RK3576对比RK3588<b class='flag-5'>主板</b>,谁更适配您的需求