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

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

3天内不再提示

英创信息技术EM335x主板ISA总线的高级应用介绍

英创信息技术 来源:英创信息技术 作者:英创信息技术 2020-02-03 10:00 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

对工控主板EM335x精简ISA扩展总线基本读写操作的介绍,已包含在EM335x编程手册中。本文将介绍在Windows CE平台上,通过精简ISA总线进行数据块读写的方法。所谓数据块读写,是指一次API调用对一个地址端口读写多个数据的操作。数据块读写能有效提高数据读写的效率,在数据采集传输中有广泛的应用。

要对ISA总线进行读写,首先需要打开设备文件“ISA1:”如下:

打开ISA文件
HANDLE hISA;
hISA = CreateFile(_T('ISA1:'),//name of device
GENERIC_READ|GENERIC_WRITE,//desired access
FILE_SHARE_READ|FILE_SHARE_WRITE,//sharing mode
NULL,//security attributes (ignored)
OPEN_EXISTING,//creation disposition
FILE_FLAG_RANDOM_ACCESS,//flags/attributes
NULL);//template file (ignored)

数据块读写功能是通过设备驱动的DeviceIoControl来完成的,需要用到以下数据结构:
typedef struct
{
PBYTE pReadBuf;//ISA读数据buffer, 只能一个buffer有效
PBYTE pWriteBuf;//ISA写数据buffer, 只能一个buffer有效
DWORD dwDataLength;//length of data in byte
DWORD dwDataPortOfs;//读写的起始地址 = 0x00 – 0xFF
DWORD dwInc;//= 0: 固定地址, > 0: 读写后地址自动增加
} ISA_BLOCK_INFO, *PISA_BLOCK_INFO;

在上述数据结构中:

pReadBuf为进行读操作时的数据buffer,读操作具体为8-bit数据读。注意:数据结构中,pReadBuf和pWrietBuf只能有一个有效。

pWriteBuf为进行写操作时的数据buffer,写操作具体为8-bit数据读。注意:数据结构中,pReadBuf和pWrietBuf只能有一个有效。

dwDataPortOfs为读写的端口地址,范围为0x00 – 0xFF。

dwDataLength为本数据块读或写的字节数。

dwInc为每次读写后,地址的自动增量,dwInc = 0:表示固定地址读写,dwInc > 0: 表示每次读写后,地址会自动增加dwInc,作为下一次的读写地址。当地址超过0xFF时,会折回到地址0x00。

如果要进行单一数据块读写功能,只需定义一个ISA_BLOCK_INFO结构变量,如BlockInfo,并按照应用需求填写相应的参数。然后就可调用系统API进行设置了:

ISA_BLOCK_INFO BlockInfo;
memset(&BlockInfo, 0, sizeof(ISA_BLOCK_INFO));
//填写输入参数值BlockInfo...

对读操作,直接调用标准读函数:
DWORD dwNbBytesRead = 0;
BOOL bRet = ReadFile(hISA,//打开“ISA1:”返回的Handler
&BlockInfo,//输入数据结构指针
sizeof(ISA_BLOCK_INFO),//数据结构Size
&dwNbByteRead, NULL);

对写操作则为:
DWORD dwNbBytesWritten = 0;
BOOL bRet = WriteFile(hISA,//打开“ISA1:”返回的Handler
&BlockInfo,//输入数据结构指针
sizeof(ISA_BLOCK_INFO),//数据结构Size
&dwNbByteWritten, NULL);

如果要执行混合的数据块的读写操作,则需要定义ISA_BLOCK_INFO数组,并根据实际应用填写数组参数。例如需要进行3组数据块读写,实现代码如下:
ISA_BLOCK_INFO BlockInfo[3];
DWORD dwTotalSize = sizeof(ISA_BLOCK_INFO) * 3;
memset(BlockInfo, 0, dwTotalSize);
//填写输入参数值BlockInfo...

BOOL bRet = DeviceIoControl(hISA,//打开“ISA1:”返回的Handler
0,//无需定义命令码,置为0
(LPVOID)BlockInfo,//块读写数据结构变量指针
dwTotalSize,//整个结构数组的size
NULL, 0,//不使用这组参数
NULL, NULL);

上述操作的主要特点是提高访问ISA总线的效率,因为每次调用驱动程序API,都会有一个几微秒的系统开销。对多字节的数据块读写,这样的开销应用程序就需要注意,否则会发现CPU的负载不合理的升高。

相关阅读:《ESM335x工控主板ISA总线DMA数据传输》

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

    关注

    4

    文章

    3694

    浏览量

    93187
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6107

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    龙芯中科助力2025教育信息技术应用创新大赛成功举办

    2025年11月13日-15日,由中国教育技术协会主办、浙江大学与中国教育技术协会网络安全专业委员会联合承办,中国电子工业标准化技术协会信息技术应用创新工作委员会、浙江高校信
    的头像 发表于 11-21 16:23 589次阅读

    新时代的硬核基石:龙芯工控主板助力信产业新基建

    在数字技术重塑产业格局的今天,信产业已成为保障国家信息技术安全的核心战略。作为工业自动化系统的大脑,工控主板的自主可控程度直接决定信创新基建的稳固性。
    的头像 发表于 11-05 13:54 132次阅读

    宝马南京信息技术有限公司开业

    今日,宝马(南京)信息技术有限公司在南京正式“挂牌运行”。这家华晨宝马全资子公司由领悦数字信息技术有限公司南京分公司“迭代”而来,代表着一次里程碑式的“进化”。这次升级不仅加速了宝马在华数字化转型进程,更通过深化本土创新,为“未来智慧出行”的发展谱写了核心“代码”。
    的头像 发表于 10-29 15:17 396次阅读

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

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

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

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

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

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

    浪潮澎湃,国产主板迎来黄金时代!

    2025年7月,表示必须在2027年底前完成信100%替代,覆盖基础硬件、基础软件等核心领域。在信息技术应用创新浪潮席卷下,国产主板作为计算机系统的骨架,正从幕后走向台前。政策加持、技术
    的头像 发表于 07-21 14:00 357次阅读

    DEKRA德凯成为沙特通信和信息技术设备技术法规认证机构

    近日,DEKRA德凯成功获得沙特标准、计量和质量组织(SASO)认可,正式成为沙特通信和信息技术设备技术法规(Technical Regulation for Communications
    的头像 发表于 07-15 14:27 721次阅读

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

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

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

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

    龙芯中科荣获2024年度信息技术应用创新工作委员会卓越贡献成员单位

    近日,中国电子工业标准化技术协会信息技术应用创新工作委员会(以下简称“信工委会”)在北京召开2024年度工作总结座谈会暨信“大比武”总结大会。中国工程院院士、信
    的头像 发表于 01-23 10:50 980次阅读

    芯盛智能荣获2024年信息技术应用创新工作委员会卓越贡献成员单位

    日前,中国电子工业标准化技术协会信息技术应用创新工作委员会(以下简称 “信工委会”)2024 年度总结座谈会于北京隆重举行。此次会议对在信工作中作出突出贡献的成员单位予以表彰。江苏
    的头像 发表于 01-20 09:56 926次阅读

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

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

    有方科技参编的信息技术团体标准发布

    近日,有方科技参编的《信息技术产品供应链成熟度 共性指标 第1部分:企业背景评价》《信息技术产品供应链成熟度 共性指标 第2部分:技术掌控评价》《信息技术产品供应链成熟度 共性指标 第
    的头像 发表于 12-23 10:44 897次阅读

    龙芯中科助力2024首届教育信息技术应用创新大赛成功举办

    近日,2024首届教育信息技术应用创新大赛在北京航空航天大学成功举办。本次大赛由中国教育技术协会主办,教育信实验室、公安部第三研究所、中国电子工业标准化技术协会信
    的头像 发表于 12-19 17:02 818次阅读