IA8044/IA8344 SDLC通信控制器:功能特性与设计要点详解

电子说

1.4w人已加入

描述

IA8044/IA8344 SDLC通信控制器:功能特性与设计要点详解

在电子设计领域,通信控制器的性能和兼容性对系统的整体表现起着关键作用。IA8044/IA8344 SDLC通信控制器作为一款具有重要应用价值的器件,值得我们深入探究。今天就和大家详细分享这款控制器的相关技术细节。

文件下载:IA8X44PDW40IR3.pdf

一、器件概述

IA8044和IA8344是采用Innovasic的Managed IC Lifetime Extension System(MILES)技术生产的快速单芯片8位微控制器,集成了SDLC/HDLC串行接口控制器。它们与Intel 8044和8344在外形、适配性和功能上兼容,能执行所有ASM51指令,指令集与Intel 80C51相同。这意味着在设计中使用它们可以很好地替代原有的Intel器件,避免了昂贵的重新设计工作。不过需要注意的是,虽然大部分功能兼容,但仍存在一些差异,相关内容在数据手册的勘误部分有详细说明。

(一)特性亮点

  1. 封装多样:提供有引脚和无铅(RoHS)版本的封装选项,包括40引脚塑料双列直插封装(PDIP)和44引脚塑料有引脚芯片载体(PLCC),方便不同设计场景下的选择。
  2. 强大处理能力:具备8位控制单元和带16位乘法与除法的8位算术逻辑单元,搭配12 MHz时钟,能高效处理各种数据和运算。
  3. 丰富接口资源:拥有四个8位输入/输出端口、两个16位定时器/计数器以及与SDLC/HDLC兼容的串行接口单元,最大串行数据速率可达2.4 Mbps,可满足多种通信和控制需求。
  4. 中断系统灵活:采用两级优先级中断系统,有5个中断源,能及时响应各种外部事件和内部需求。
  5. 内存空间充足:具备192字节的读写数据内存空间、64 KB的外部程序内存空间和64 KB的外部数据内存空间,IA8044还额外拥有4 KB的内部ROM,为程序运行和数据存储提供了足够的空间。

(二)型号差异

  • IA8044:带有4 KB内部ROM,固件版本为R0117 2.3,内部RAM为192字节,外部程序和数据空间均为64 KB。
  • IA8344:没有内部ROM,内部RAM同样是192字节,外部程序和数据空间也是64 KB。

二、封装及电气特性

(一)封装及引脚

该控制器提供了PDIP和PLCC两种常见的封装形式。

  • PDIP封装:40引脚的PDIP封装在传统设计中较为常用,其引脚分配明确,每个引脚都有特定的功能。例如,P0端口用于8位I/O和低阶复用地址/数据字节传输;P1端口的P1.6和P1.7引脚分别具有RTS(请求发送)和CTS(清除发送)的替代功能;P3端口的多个引脚还具备如RXD(接收数据)、TXD(发送数据)、INT0/INT1(外部中断)等多种替代功能,方便与其他设备进行通信和控制。
  • PLCC封装:44引脚的PLCC封装则在密度和空间利用上有一定优势,其引脚功能与PDIP封装基本对应,但引脚排列方式有所不同。相关的引脚图和详细信息在数据手册中有明确标注,大家在设计PCB时务必参考。

(二)尺寸规格

不同封装的物理尺寸也有详细规定。

  • PDIP物理尺寸:如数据手册中的图2所示,给出了各关键尺寸的典型值,例如A为0.155英寸,e为0.100英寸等,这些尺寸对于设计合适的PCB焊盘和布局非常重要。
  • PLCC物理尺寸:图4展示了PLCC封装的物理尺寸,包括A、A1、D1等尺寸的典型值,设计时要确保与实际的装配环境相匹配。

(三)电气特性

IA8044/IA8344的绝对最大额定值和直流特性是设计时必须关注的参数。

  • 绝对最大额定值:环境温度在偏置条件下为 -40°C至 +85°C,存储温度为 -40°C至 +150°C,电源电压范围为 -0.3至 +6 VDC等。需要特别注意的是,该器件不包含EPROM及其相关编程电路,所以对于输入引脚EA等,要严格遵守电压限制,否则可能会损坏器件。
  • 直流特性:包括输入低电压VIL最大为0.8 V,输入高电压VIH最小为2.0 V,输出低电压VOL(IOL = 4 mA)最大为0.4 V,输出高电压VOH(IOH = 4 mA)最小为3.5 V等。这些参数对于评估器件在不同工作条件下的性能和稳定性非常关键。

三、功能模块解析

(一)功能框图

从功能框图(图5)可以看出,该控制器包含了多个功能模块,如I/O接口、内存控制、时钟生成与定时、CPU、RAM、中断和定时器以及SIU(串行接口单元)等。这些模块相互协作,实现了数据的输入输出、存储、处理和通信等功能。

(二)输入/输出特性

各引脚的输入/输出特性明确。例如,RST引脚用于复位,当振荡器运行时,将其拉高两个机器周期可使芯片复位;ALE引脚用于外部内存访问时锁存地址;PSEN引脚在低电平时作为外部程序内存的输出使能;EA引脚控制从外部还是内部获取指令等。了解这些特性有助于正确连接和使用这些引脚。

(三)内存组织

  1. 程序内存:中断和复位向量分布明确,程序内存空间为64 KB(0000H至FFFFH),最低4 KB(0000H至0FFFH)可从外部或内部程序内存获取代码,具体取决于EA引脚的状态。
  2. 外部数据内存:采用哈佛架构,代码和数据空间分离。通过MOVX指令和16位数据指针寄存器(DPTR)来访问外部数据内存,还可以使用MOVX指令进行8位寻址访问较小的子集。
  3. 内部数据内存:地址为1字节宽,内存空间为192字节(00H至BFH),可通过直接或间接寻址方式访问。特殊功能寄存器(SFRs)占据了上128字节,只能通过直接寻址访问。
  4. 位可寻址内存:内部RAM和SFRs中都有位可寻址的位置,详细信息在表7和表8中列出,这为进行位操作提供了便利。

(四)特殊功能寄存器

特殊功能寄存器(SFRs)是控制和配置该控制器各种功能的关键。例如,PSW(程序状态字)寄存器包含了CPU状态标志、寄存器选择位和用户标志;TMOD(定时器/计数器模式)寄存器用于选择定时器和计数器的工作模式等。每个SFRs都有其特定的功能和作用,详细信息可参考表9。

(五)端口

P0、P1、P2和P3端口都是SFRs,具有双向数据传输能力。每个端口都由锁存器、输出驱动器和输入缓冲器组成,可用于数据的输入输出。同时,这些端口还具备一些替代功能,如P3端口的多个引脚可用于串行通信、外部中断和内存读写等。

(六)定时器/计数器

该控制器有两个16位的定时器/计数器(Timer 0和Timer 1),可配置为计数器或定时器模式。定时器模式下,寄存器每机器周期递增;计数器模式下,在相应输入引脚T0或T1检测到下降沿时递增。它们有四种工作模式可供选择,通过TMOD和TCON这两个SFRs进行设置,不同模式适用于不同的应用场景。

(七)通用CPU寄存器

包括累加器(ACC)、B寄存器、程序状态字(PSW)、堆栈指针(SP)和数据指针(DPTR)等。累加器通常用于存储操作数;B寄存器用于乘法和除法指令;PSW寄存器反映CPU的状态和寄存器选择;SP指针指向内部RAM的堆栈位置;DPTR用于访问外部代码或数据空间。

(八)中断

提供了五个中断源,包括两个外部中断(INT0和INT1)、定时器0和定时器1中断以及SIU中断。中断优先级分为两级,可通过IP寄存器进行配置。中断处理过程中需要注意一些条件限制,如同一或更高优先级中断正在处理、当前指令未执行完等情况下,中断可能会被阻塞。

(九)SIU串行接口单元

SIU是该控制器的核心部分之一,专门用于支持SDLC/HDLC协议。具有自动(AUTO)和灵活(FLEXIBLE)两种工作模式。

  • AUTO模式:硬件实现了部分SDLC协议,可在不依赖CPU干预的情况下识别和响应特定帧,提高了响应速度,但帧类型有所限制。在接收信息帧时,可自动加载接收缓冲区、中断CPU并向主站做出响应,还能响应RR、RNR、REJ、UP等指令。
  • FLEXIBLE模式:需要CPU全程控制,虽然响应速度较慢,但支持全SDLC和部分HDLC协议,且可实现更多变化,SIU还能充当主站。

SIU通过多个SFRs进行控制和与CPU通信,数据的发送和接收存储在192字节的内部RAM的发送和接收缓冲区中。同时,它支持半双工点到点、半双工多点和环路模式三种串行数据链路配置。在数据时钟方面,可采用外部时钟或自时钟模式,不同模式下的数据速率有所不同,具体的时钟选项通过SMD寄存器的相关位进行选择。

(十)帧格式选项

IA8044/IA8344支持多种帧格式,包括标准SDLC格式、无控制字段格式、无控制字段和无地址字段格式以及无FCS字段格式。不同的格式适用于不同的应用需求,可通过设置相关的位来选择特定的帧格式。例如,标准SDLC格式包含标志、地址、控制、信息、FCS和标志等字段,适用于大多数常规通信场景;而无控制字段和无地址字段格式则在一些对数据传输格式要求较为灵活的场景中可能更适用。

(十一)HDLC限制

虽然该控制器支持部分HDLC协议,但与标准HDLC协议存在一些差异。例如,IA8044/IA8344将串行数据限制为8位增量,而HDLC允许信息字段包含任意数量的位;HDLC提供无限制的地址字段和扩展的帧编号序列,且不支持环路配置。在使用时需要注意这些差异,以确保通信的正确性。

(十二)SIU细节

SIU由位处理器(BIP)和字节处理器(BYP)两个功能块组成。

  • BIP:包含DPLL、NRZI编码器/解码器、串行/并行移位器、零插入/删除、关闭逻辑和FCS生成/检查等部分。NRZI逻辑用于位的反转判断,串行移位器实现字节数据和位数据的转换,零插入/删除电路用于插入和删除零以及检测标志、先行位和中止信号,FCS逻辑根据特定多项式生成和检查FCS值。
  • BYP:包含用于SDLC通信操作的寄存器和控制器,可由CPU访问。BYP中的SIU状态机控制帧的发送和接收。

(十三)诊断

该控制器提供了诊断模式,通过操作P3.0和P3.1端口引脚实现。将P3.1引脚清零可启用诊断模式,此时向P3.0写入数据相当于向SIU写入串行数据流,P3.0作为串行数据,对端口3的任何写入操作都会时钟SCLK,可在P3.1上监测发送数据。在测试模式下,P3.0和P3.1引脚处于高阻抗状态。

四、交流规格与复位

(一)交流规格

数据手册提供了外部程序内存、外部数据内存、串行接口和外部时钟驱动等方面的交流特性参数。例如,对于不同时钟频率下的ALE脉冲宽度、地址有效时间、数据有效时间等都有明确规定,大家在设计时要根据具体的应用场景和时钟频率选择合适的参数。

(二)复位

复位操作通过在振荡器运行时将RST引脚拉高至少两个机器周期(24个振荡器周期)来实现。复位后,CPU会生成内部复位信号,影响所有SFRs的值,但不影响内部RAM的内容。复位后各寄存器的具体值在表52中有详细列出,这些值为系统的初始化提供了基准。

五、指令集与勘误

(一)指令集

IA8044和IA8344的指令集与Intel 8051相同,涵盖了算术运算、逻辑运算、数据传输、布尔操作和程序分支等多种指令。详细的指令集信息在表53 - 57中列出,大家可以根据具体的编程需求选择合适的指令。

(二)勘误

数据手册中还列出了该控制器存在的一些问题及相应的解决方法。例如,不能使用EPROM验证方法读取内部ROM,需要采用替代方法;器件的上拉值与Intel版本不同,可能需要调整外部电路;在特定条件下,SIU在开始传输时会覆盖RCB寄存器,解决办法是在发起传输前读取RCB等。在使用过程中需要注意这些问题,避免因这些小瑕疵影响整个系统的性能。

通过对IA8044/IA8344 SDLC通信控制器的详细分析,我们可以看到它在功能和性能上都有很多亮点,同时也存在一些需要注意的地方。在实际设计中,大家要根据具体的应用需求,充分发挥其优势,同时注意解决可能出现的问题,以实现高效、稳定的通信和控制。希望这篇文章能对大家在使用这款控制器进行设计时有所帮助,如果在实际应用中遇到任何问题,欢迎一起交流探讨。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分