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

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

3天内不再提示

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

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

扫码添加小助手

加入工程师交流群

在基于工控主板EM9160的嵌入式应用中,经常需要与具有SPI接口的芯片或电路单元,进行数据通讯。通常情况下,我们建议采用基于GPIO的SPI通讯协议实现方案,其优点是灵活性,客户可使用任意的GPIO管脚来实现SPI通讯,有关这方面的技术方案的实现,可参考英创网站的《使用GPIO控制SPI接口的AD芯片》一文。在SPI通讯中,还有一类应用需要进行大数据量的传输,且要求尽可能高的波特率,这时若采用基于GPIO的方案,就可能造成占用过多的CPU资源。因此需要使用EM9160的硬件SPI接口。
EM9160的硬件SPI接口为4线制SPI,其管脚与GPIO12–GPIO15复用:

GPIO管脚 SPI接口信号 简要说明
GPIO12 SPI_DIN 串行数据输入
GPIO13 SPI_DOUT 串行数据输出
GPIO14 SPI_CLK 串行数据同步时钟输出
GPIO15 SPI_CS# 片选控制输出,低电平有效

为了操作硬件SPI接口,应用程序需要打开“SPI1:”的设备文件:
HANDLEhDevice;
hDevice = CreateFile( _T('SPI1:'),
GENERIC_READ | GENERIC_WRITE,
0, NULL, OPEN_EXISTING, 0, NULL);
if (hDevice == INVALID_HANDLE_VALUE)
{
return -1;
}
获得有效的文件句柄后,就可通过DeviceIoControl(…)函数来操作SPI接口了。在EM9160的SDK中已封装了相应的API函数,以方便应用程序的使用。相关的数据结构和函数定义,包括在“SPI_API.h”中:
// 定义SPI通讯参数结构
typedef struct
{
DWORD dwCLKPolarity; // SPI时钟极性:=0 或者 =1
DWORD dwCLKPhase; // SPI时钟相位:=0 或者 =1
DWORD dwDataBitSize; // SPI通讯数据帧的位数:8bit-16bit
DWORD dwBaudRate; // SPI通讯波特率:最高波特率为10Mbps
} SPISTATE;
尽管EM9160的硬件波特率可以高达100Mbps,但为了保证可靠传输,建议应用程序把波特率控制在10Mbps以下。SPI时钟极性dwCLKPolarity,在数据手册中通常记为CPOL,= 0表示在没有数据传输时为低电平,= 1表示没有数据传输时为高电平。SPI时钟相位dwCLKPhase,在数据手册中通常记为CPHA,= 0表示时钟的第一个沿更新数据、第二个沿锁存数据,= 1表示时钟的第一个沿锁存数据、第二个沿更新数据。下面的事宜图,以8-bit数据为例:
CPHA = 0的SPI时序


CPHA = 1的SPI时序


SPI通讯参数设置,通过以下两个函数实现:
// 功能描述:设置SPI通讯参数。
// 输入参数 HANDLE hDevice: 运行CreateFile( _T('SPI1:'),....)函数返回的有效句柄
// SPISTATE *pSPIState: SPI通讯参数
// 返回值 = TRUE: SPI通讯参数成功。
// = FALSE: SPI通讯参数失败。
BOOL SetSPIState( HANDLE hDevice, SPISTATE *pSPIState );

// 功能描述:获取SPI通讯参数。
// 输入参数 HANDLE hDevice: 运行CreateFile( _T('SPI1:'),....)函数返回的有效句柄
// 输出 SPISTATE *pSPIState: 获取的SPI通讯参数
// 返回值 = TRUE: SPI通讯参数成功。
// = FALSE: SPI通讯参数失败。
BOOL GetSPIState( HANDLE hDevice, SPISTATE *pSPIState );
在调用上述函数时,注意指针pSPIState需要初始化分配空间。在设置好SPI参数后,就可调用下面的函数进行具体的数据通讯了
// 功能描述:全双工收发SPI数据
// 输入参数:
// HANDLE hDevice: 运行CreateFile( _T('SPI1:'),....)函数返回的有效句柄
// DWORD DatLength: 需收发的数据样点长度, (DatLength * 字节数/样点) < 1024。
// PVOID pTxBuf: 需发送的数据BUFFER,注意一个数据样点可能占用2个字节。
// PVOID pRxBuf: 需接收的数据BUFFER,注意一个数据样点可能占用2个字节。
// 返回值 = TRUE: SPI数据通讯成功。
// = FALSE: SPI数据通讯失败。
BOOL SPI_FullDuplex( HANDLE hDevice,
PVOID pTxBuf,
PVOID pRxBuf,
DWORD DatLength );
在调用上述SPI函数,需要注意以下事宜:
1、SPI设备驱动程序的内部buffer缺省设置为1K字节,因此每次通讯的字节数不能超过1K字节,对大于8-bit的数据,每个数据均按2个字节计算。
2、对8-bit的SPI传输,收发数据buffer的类型应设置为UCHAR;而对9-bit – 16-bit的数据传输,其收发数据buffer的类型应设置为WORD。
3、参数DatLength是以数据为单位计算的,所以若传输8-bit数据,其最大值为1024,若传输8-bit以上数据,其最大值为512。
4、对传输长度超过SPI设备驱动程序的内部buffer长度的应用,可通过循环多次调用来实现数据通讯。

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

    关注

    7

    文章

    6105

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    智慧新核心,龙芯主板助力信体系再升级

    信息技术飞速发展的当下,信体系的自主可控与创新升级已成为国家战略层面的关键任务。作为信产业发展的重要基础硬件支撑,国产工控主板正发挥着
    的头像 发表于 08-11 09:14 ?123次阅读

    佛瑞亚如何通过信息技术推动业务增长

    在数字化、信息化的浪潮下,信息技术已经不仅是后台工具,更成为驱动企业发展的关键力量。本期Women Inspiring Mobility,我们采访了佛瑞亚中国区信息技术总监马瑛,了解她和团队如何将
    的头像 发表于 07-29 14:00 ?406次阅读

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

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

    科普|信是什么?一文读懂“信息技术应用创新”战略

    什么是信?信,即“信息技术应用创新”,是国家推动IT系统自主可控、安全可控的重要战略工程。它不仅是技术层面的创新,更承载着保障国家网络安全、推动产业升级和实现数字主权的重任。简单来
    的头像 发表于 06-13 10:06 ?3090次阅读
    科普|信<b class='flag-5'>创</b>是什么?一文读懂“<b class='flag-5'>信息技术</b>应用创新”战略

    浪潮下,国产主板有什么新的发展机遇?

    信息技术应用创新浪潮的推动下,国产主板迎来了诸多新的发展机遇。信产业旨在实现信息技术领域的自主可控,这一战略目标为国产主板的发展提供了广
    的头像 发表于 05-09 09:24 ?286次阅读
    信<b class='flag-5'>创</b>浪潮下,国产<b class='flag-5'>主板</b>有什么新的发展机遇?

    工控主板特点与应用场景介绍

    工控主板(IndustrialMotherboard)是专为工业环境设计的计算机主板,用于控制、监测和管理工业设备及自动化系统。与普通消费级主板相比,
    的头像 发表于 03-06 14:39 ?644次阅读
    <b class='flag-5'>工控</b><b class='flag-5'>主板</b>特点与应用场景<b class='flag-5'>介绍</b>

    工控主板在数控机床设备中的应用

    工控主板作为数控机床的核心组件之一,发挥着至关重要的作用。以下是工控主板在数控机床设备中应用的详细介绍
    的头像 发表于 01-09 15:33 ?619次阅读

    工业级主板工控主板的区别?

    在工业领域,主板的重要性是被无限放大的。在大型工厂里日夜不停运转的自动化生产线、精准控制的智能电网系统、以及在极端环境下依然稳定采集数据的石油勘探设备,它们背后都依靠着工业级主板工控主板
    的头像 发表于 01-02 10:01 ?609次阅读

    飞腾助力首届教育信息技术应用创新大赛圆满落幕

    近日,由中国教育技术协会主办,教育部教育管理信息中心教育信实验室、公安部第三研究所、中国电子工业标准化技术协会信工委会支持,北京航空航天
    的头像 发表于 12-24 09:57 ?586次阅读

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

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

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

    什么是国产工控主板呢?国产工控主板是工业计算机的主板,是一种计算机系统的硬件设备,是专门为工业控制场景设计和生产的电路板。它在国内的研发和制
    的头像 发表于 11-07 10:29 ?793次阅读

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

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

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

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

    工控主板有哪些特点?

    ?工控主板是用于工业控制领域的专用主板,具有以下特点: 稳定性:工控主板通常经过严格的测试和优化,具有较高的稳定性和可靠性,能够在恶劣的工业
    的头像 发表于 10-10 08:55 ?954次阅读

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

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