资讯详情

嵌入式Linux工控板的ISA总线GPIO扩展

1、精简ISA总线GPIO扩展原理

在工业领域,GPIO英利嵌入式应用广泛Linux工控板上有16条路GPIO。但在实际应用中,往往需要超过16路GPIO作为控制或者数据信号使用,这时候可以通过英利精简ISA总线进行GPIO扩展。使用最常见的逻辑芯片74HCT138、74HCT245和74HCT273可以扩展满足需求的数量GPIO。此外,由于上述芯片的成本极低,单片采购价格只有几美分,产品成本在满足功能需求的同时得到有效控制。

采用精简ISA总线进行GPIO扩展的方法是:74HCT138选择控制信号CS1#、读信号RD#、写信号WE#以及地址线SA0-SA2进行地址译码,产生不同地址偏移量的片选信号,通过对不同地址的读写操作,控制相应的应用程序GPIO(GPIO通过74HCT245或者74HCT连接到数据线的273SD0-SD7)。

2、DIN扩展示例

数字输入DIN扩展原理图如下:

249625306b2a4d21d02b809883508661.gif

如图所示,地址译码产生8个读片选择信号,通过控制每个信号74HCT245可以操作8路GPIO,这样,64路可以在一次翻译后扩展DIN。只在本图中使用RD0#和RD1#两个片选信号,客户如有需要可以使用RD2#-RD7#继续扩张。

3、DOUT扩展示例

数字输出DOUT扩展原理图如下:

如图所示,地址译码产生8个写片选择信号,通过控制每个信号74HCT273可以操作8路GPIO,这样,64路可以在一次翻译后扩展DOUT。只在本图中使用WE0#和WE1#两片选择信号,www.linuxidc.com如有必要,客户可以使用WE2#-WE7#继续扩张。

综上所述,64路输入和64路输出可以通过址译码扩展128路GPIO,它可以满足大多数工业控制领域的需求。这128路GPIO与工控整机产品相比,扩展所需的设备成本只有十几元,几乎可以忽略不计。

此外,如果用户扩展,需要强调的是GPIO最好将不同的功能单元完全分的功能单元完全分开。

例如,需要进行以下扩展控制:?3路DIN?2x3矩阵键盘?5个LED?4路继电器单元?7路DOUT

分配思路如下:由于有5个功能单元,每个功能单元所需GPIO不超过8个,使用2片74HCT矩阵键盘分别用于245,DIN;4片74HCT矩阵键盘分别用于273,LED、继电器、DOUT,读信号用RD0#和RD1#,写信号WE0#-WE3#。这样,独立控制各功能单元的应用程序可以加快开发进度,提高开发成功率和后期维护效率;使用更多的芯片不会增加开发成本的任何负担。

具体分配方案如下:?1片74HCT245使用片选信号RD0#,连接矩阵键盘的输入信号

?1片74HCT245使用片选信号RD1#,接3路DIN

?1片74HCT273使用片选信号WE0#,连接矩阵键盘的输出信号

?1片74HCT273使用片选信号WE1#,接LED

?1片74HCT273使用片选信号WE二、接继电器

?1片74HCT273使用片选信号WE3#,接7路DOUT

另需注意:

1.建议将地址偏移0的端口留作矩阵键盘,以便系统自动加载驱动程序和编写应用程序。

2.由于英利提供的例程均为CS1#作为片选信号,因此建议客户也使用CS扩展1#,方便早期测试。

标签: 13sa2电连接器09sa2电连接器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台