您的位置 » 首页 » 工业显示器 » 英创信息 嵌入式工控机 技术嵌入式Linux工控板EM9160介绍

英创信息 嵌入式工控机 技术嵌入式Linux工控板EM9160介绍

发表于4年前 | 作者: blog | 分类: 工业显示器 | 破蛋日:2020年09月12日 |

总线线制的主从通讯协议,主要运用于器件之间的数据通讯,在嵌入式系统中得到非常广泛的应用。作为一款高性价比的嵌入式工控板,EM9160的对I2C总线提供了良好的支持,其主要特点是EM9160的16位GPIO中的任意位都可作为I2C总线的信号SCL或数据地址信号SDA,这样客户可根据自己整机的具体情况,灵活的配置EM9160的GPIO管脚来作为I2C总线信号。

在Linux环境,I2C的驱动程序已自动加载,其设备文件名为“/dev/em9x60_i2c”。应用程序通过3个IOCTL命令来操作I2C接口:首先需要配置I2C总线资源,包括SCL、SDA信号和通讯速度,然后才能根据具体芯片的特性对其内部寄存器进行读写操作。以下以电力智能终端中广泛使用的RTC芯片RX-8025为例,对I2C的操作流程作进一步的介绍。

英创信息 嵌入式工控机 技术嵌入式Linux工控板EM9160介绍

  硬件电路:RX-8025是一种带I2C总线接口的实时时钟(RTC)芯片,具有精确调整的晶体频率,可满足电力智能终端需求。在下图中,EM9160的GPIO6作为I2C总线的SCL信号、GPIO7作为SDA信号,注意10K上拉是必须的。

I2C总线配置:PWM调用函数fd=open(”/dev/em9x60_i2c”, O_RDWR)打开设备文件后,首先需要配置总线,具体操作是把参数设置到指定的数据结构中,再调用IOCTL命令如下:

I2C总线kbps,可用于大多数RTC、AD芯片;=1:高速时指波特率接近400kbps;=2:全速的波特率可高达1Mbps,主要用于存储器类型的芯片。设置操作如下:

I2C数据写:EM9160的I2C总线写操作,由数据结构struct i2c_io来传递参数和数据,具体定义可查看em9x60_drivers.h。写操作支持一次最多可写入16个字节,但具体写入多少还受I2C器件本身的限制,如RX-8025只支持一次对一个寄存器写入,例如写入30秒到RTC的秒寄存器的具体代码操作如下:

I2C数据读:EM9160的I2C总线读操作,由数据结构struct i2c_io来传递参数和数据,具体定义可查看em9x60_drivers.h。读操作支持一次最多可写入16个字节,但具体一次读出多少字节还受I2C器件本身的限制,RX-8025支持一次读出多个寄存器的数据,例如一次读取全部日期时间信息共7个字节,具体代码操作如下:

I2C数据读写所用的数据结构中,reg_addr表示被读写器件的寄存器地址,若为单字节地址,该变量的最高位(MSB = D31)应为0;若为双字节地址,地址占用reg_addr的D15 – D0(最低位,LSB),而变量的最高位D31必须置为1。另外,对不需要寄存器的器件,可把reg_addr设置为0xFFFFFFFF,这时驱动程序将不再发送寄存器地址。上述代码中从RX-8025读出的数据均为BCD,通常需要转换成C语言的整型数据类型。

为了方便客户使用RX-8025,我们编写了通过EM9160的I2C驱动程序操作RTC的范例程序,包括启动RTC,设置时间,读取时间等功能。感兴趣的客户可向英利公司技术支持索取范例源码。

Linux 基金会本周宣布计划成立新的气候金融基金会(LF Climate Finance Foun….

Android是基于Linux的开源操作系统,主要用于嵌入式设备,如智能手机、平板电脑、智能电视、车….

【免费申请】DIY狂热粉不可错过,HiSpark IPC DIY Camera等你改造

相信很多电子爱好者对电子DIY都不陌生,本次电子发烧友要说摄像头也能DIY你相信吗?接下来介绍的一款开发板可以满足DIY…

RT-Thread Smart开源混合微内核操作系统横空出世,替换智能设备中的Linux! 来源:嵌….

正则表达式可以说一直是大家的梦魇,但是正则在工作中实在是使用太广泛了,又不得不学习,但是却很难掌握其….

【免费申请】守卫安全的“黑科技”,HiSpark AI Camera勇担重任

AI这个词正日益变得耳熟能详,那么AI技术在哪些方面应用得最广?又能给人们的生活带来什么样的改变?以人脸图像识别为代表的…

Arm推出Cortex-R82,这是其首款支持Linux的64位处理器,可实时计算固态驱动器(SSD),硬盘驱动器(HDD)和内置存储…

由于很多人总问这个问题,所以这里做一个总结供大家参考。这里必须先说明,以下的步骤都是针对Linux ….

由于其经典的UI,稳定性,用户友好性以及包含50000多个软件包的丰富存储库,Ubuntu可以说是最….

前面讲到过写时复制缺页异常(COW),一般用于父子进程之间共享页,而我们会常见一种缺页异常是匿名映射….

采用定制化高性能主控和自主Firmware,多方面保证兼容性和稳定性,目前已批量应用于PC OEM领….

那时候Linus自己攒了一套386,但是找不到好用,廉价/免费的操作系统用。当时社区里当然也有一票免….

Manjaro 还是 Arch Linux?如果说 Manjaro 是基于 Arch 的,那么它和 ….

在Linux下开发应用程序可以调用两种接口来实现,一种是直接调用系统调用接口,另一种是调用库函数来实….

之前小弟一直在宣传推广火焰图,结果是很多童鞋凡事都用火焰图。说实话,火焰图特别适合分析运行时热点(无….

将嵌入式技术与PLC技术相结合提出了一种基于ARM9的嵌入式PLC系统的实现方法,给出了以嵌入式Li….

今天向大家介绍一个非常有用的技巧,那就是使用 grep 命令查找多个字符串。简单介绍一下,grep ….

设备树中的chosen节点会直接影响启动的结果,但是不知道里边的内容与什么有关。参考别人的例子发现每…

GNOME 是一个相当简单和精简的 Linux 图形用户界面(GUI),很多用户喜欢它的简约外观。虽….

设想一下,你正忙于一项任务且需要在浏览器中打开超过 20 个页面,大多数页面都和工作有关。还有一些是….

Linux不像windows有那么显眼的回收站,不是简单的还原就可以了。linux删除文件还原可以分….

Linux 下 rm 命令是表示删除一个文件,而Linux是没有回收站机制,所以文件一旦删除的话,就….

当我开始编程时,大多数都在Windows平台上,毕竟对于像我这样的初学者来说,Linux入门有点高。….

Android4.4的SELinux即将从授权模式更改为强制模式你能使用的习惯吗

除了Android 4.4 KitKat中已添加的各种以用户为中心的功能外,Google还通过许多重….

Linux新发布用于容器托管的操作系统Bottlerocket的详细介绍

随着我们的客户越来越多地使用容器来运行其工作负载,设计Linux发行版以从头开始运行容器已经变得很流….

1991 年的 8 月 25 日,来自芬兰赫尔辛基大学的 Linus Torvalds 用 Mini….

平时都是发一些技术贴,今天来点轻松的。 Arm推出了一款针对高端存储控制器的64位,实时功能的Cortex-R82处理器,该处理器…

最近使用ZYNQ系列芯片在linux下工作,可是启动时串口打印信息只到初始化完成的那句话: init:…

香橙派Orange Pi 4电脑开发板连接人体感应模块测试说明(Linux系统)

当有人进入其感应范围则输入高电平,人离开感应范围则自动延时关闭高电平。输出低电平 B.可重复触发方式: 即感应输出高电平后…

在linux中,scp命令用于Linux之间复制文件和目录,即在一台Linux服务器中将本地的文件上….

在嵌入式软件开发中,我们不可避免的需要接触优先级的概念,掌握优先级的概念对于设计一个好的软件系统尤为….

操作系统有用户态和内核态两种运行空间,进程空间互相隔离,用户态与内核态相互隔离,驱动、应用程序、服务….

定义可能难以捉摸。有时我们会理解一个词,工控板是什么,但无法真正定义它。在其他时候,在尝试定义它的过程中,我们意识到我们毕竟并不真正了…

在桌面 Linux 世界中,最常用的术语之一就是 桌面环境(Desktop Environment)….

从去年九月,Linux 内核维护者 Greg 表示愿意接受用 Rust 开发 Linux 驱动,到今….

VGH是LCD的开关管的开启电压,假设这里需要15V,VGL是LCD开关管的关闭电压,假设这里需要-….

凭借广泛的语言支持,Graudit 可以让你在开发过程中的审计你的代码安全。测试是软件开发生命周期(….

在选择服务器操作系统时,Windows附带了许多您需要付费的功能。Linux是开放源代码,可让用户免….

系统: Ubuntu14.04.1 (AMD64bit) 目标板:三兄弟嵌入式F28335旗舰板 &n…

Linux排障技巧在数据中心十分受人重视。数据中心专家对此提供了一些Linux服务器排障相关的性能问….

Linux应用程序开发标准教程》 完整版PDF – 12章全,非常不错的资料 …

Linux采用基于最大吞吐量准则的调度策略,并不能确保各个实时进程的及时调度。而RTLinux在缺省….

Linux支持PowerPC、MIPS、ARM、DSP等多种嵌入式处理器,逐渐被用于多种关键性场合。….

很显然, 只要让一个CPU在20秒左右的时间内都不发生进程切换,就会触发soft lockup ,这….

随着嵌入式Linux系统的广泛应用,工控板是什么。对系统的可靠性提出了更高的要求,尤其是涉及到生命财产等重要领域,….

相信大家平时都有用 history 命令来查看命令历史记录,但是实际上 history 命令并非只有….

嵌入式是软件设计领域的一个分支,它自身的诸多特点决定了系统架构师的选择,同时它的一些问题又具有相当的….

目前,在嵌入式系统开发中可使用的语言很多,其中 C语言应用得最广泛。虽然用 C 语言编程具有许多优点….

本文首先介绍了入式操作系统的特点,其次阐述了嵌入式操作系统的应用,最后介绍了嵌入式操作系统的组成。

Linux 内存是后台开发人员,需要深入了解的计算机资源。合理的使用内存,有助于提升机器的性能和稳定….

本文首先介绍了嵌入式软件的发展,其次阐述了嵌入式软件的开发流程,最后介绍了嵌入式软件的调试。

本文首先阐述了嵌入式软件的概念,其次介绍了嵌入式软件的特征,最后介绍了嵌入式软件的分类。

本方案介绍WK2X系列UARTs在嵌入式Linux(Android)下扩展多串口方案,尤其是嵌入式L….

printf是一个接口,跟UNIX标准IO的write系统调用类似,但是更像C库的fwrite,因为….

大家回想一下,你是不是遇到过这种情况:有时候,你访问一个网站,它突然给你下载了一个东西。特别是当你用….

最近在使用 VIM 时遇到两个新的问题,觉得还很挺有价值的。现在将处理方法总结后,分享给大家。

在学习推广新技术的道路上,立功科技从未停止前进的步伐。CAN总线是德国Bosch公司于20世纪80年….

AM4379 AM437x ARM Cortex-A9 微处理器 (MPU)

TI AM437x高性能处理器基于ARM Cortex-A9内核。 这些处理器通过3D图形加速得到增强,可实现丰富的图形用户界面,还配备了协处理器,用于进行确定性实时处理(包括EtherCAT,PROFIBUS,EnDat等工业通信协议)。该器件支持高级操作系统(HLOS)。基于Linux的® 可从TI免费获取。其它HLOS可从TI的设计网络和生态系统合作伙伴处获取。 这些器件支持对采用较低性能ARM内核的系统升级,并提供更新外设,包括QSPI-NOR和LPDDR2等存储器选项。 这些处理器包含功能方框图中显示的子系统,并且后跟相应的“说明”中添加了更多信息说明。 处理器子系统基于ARM Cortex-A9内核,PowerVR SGX图形加速器子系统提供3D图形加速功能以支持显示和高级用户界面。 可编程实时单元子系统和工业通信子系统(PRU-ICSS与ARM内核分离,允许单独操作和计时,以实现更高的效率和灵活性.PRU-ICSS支持更多外设接口和EtherCAT,PROFINET,EtherNet /IP,PROFIBUS,以太网Powerlink,Sercos,EnDat等…

文本标签:
本文地址:http://www.huapuxin.cn/blog/53534.html
除非注明,本站所有文章皆为原创,转载请以链接形式标明本文地址

马上分享给你的朋友吧~

评论已关闭!