Freescale公司的MC9328MXL通用I/O接口电路
扫描二维码
随时随地手机看文章
1. 基本原理
Freescale 公司的MC9328MXL处理器是一款集低功耗、高度集成性、软件兼容性、智能设计技术等优势于一体的CPU。处理器内置支持LCD/触摸屏接口、CMOS Sensor接口、SD卡、串口、I2C、I2S等,接口丰富,非常适合应用于:手持设备、可视电话、楼宇的对讲系统、VoIP、IPcamera、数码产品、医疗电子设备和各种其它移动无线应用。
MC9328Mxl提供了18个可编程的I/O端口GPIO,用户可将每个端口配置为输入模式、输出模式或特殊功能模式,由片内的特殊功能寄存器控制。
从图1l-5中可以看出,通过配置MXl内部GI[JS_x相应的寄存器就可以将片外引脚连接(逻辑上的)到不同的功能线上。这样就做到了引脚的复用。
当引脚配置为GPIO后,还需要进一步配置该引脚作为输入引脚还是作为输出引脚,这将决定在逻辑上该引脚内部连接到输入数据寄存器还是输出数据寄存器。如果作为输入引脚,引脚上的电平状态会即时被写入输入数据寄存器。如果作为输出引脚,写入输出数据寄存器的内容就会以逻辑电平的形式及时反映到引脚外部。
为了方便用户的开发,核心板和扩展板都设置了相应的I/O接口,这些接口的设置极大地方便了用户的开发工作,使开发者能够比较方便地对系统进行信号输入信号输出。表10-11列举了开发系统中所有的I/O的定义及其相应的功能描述。
MC9328MXl各个GPIO作为输入时,都可作为独立中断源使用。同时每个中断源独立的寄存器设置以配置相应中断的触发方式以及是否屏蔽。系统中使用了14个外部申请:以太网卡中断申请、A/D模块中断申请、键盘中断申请及按键组中断申请,如表11-2所示。
2. 硬件接口电路
1.开关量输入和LED显示接口
EMOTION ARM9 Linux开发系统的开关量模块由8个带LED指示灯的按键组成,如图11-6所示。K2、K3、K4、K5按键为带自锁按键,K6、K7、K8、K9键为不带
自锁的按键。触发K2、K3、K4、K5键后处于锁定状态,输出3.3V电平,LED处于点亮状态。再次触发:K2、K3、K4、K5键,输出低电平同时L,ED熄灭。触发K6、K7、K8、K9键后输出3.3V电平同时相应LED点亮,释放按键后输出低电平,同时LED熄灭。
KEY2~KEY9按下的时候会在与之连接的MXl对应的GPIO引脚上产生低电平,KEY2~KEY9抬起的时候会在与之连接的MXl对应的GPIO引脚上产生高电平(见表1l-3)。经过软件配置后,MXl可以根据这个电平变化产生中断。当中断产生后,软件可以查询是哪个引脚产生的中断,并且驱动与LED相连的GPIO输出高电平,点亮对应的LED灯。我们将POART’A11~14,POARTC22~24,POARTC26这8个引脚配置为GPIO输出引脚,用来控制IED的状态。POART3~POART。A lO这8个引脚配置为GPIO输入功能,并配置为低电平触发中断。当这8个引脚的任意一个产生低电平都会产生一个中断并进入中断服务程序,在中断服务程序中根据中断状态寄存器ISR,可以判断是哪个引脚产生的中断。然后我们向对应的输出引脚的DR寄存器写入1,控制该输出引脚输出低电平,从而点亮对应的LED。
实验系统提供了8个GPIO端口。可由这8个GPIO进行键盘扫描,根据获得的GPIO端口状态来判断哪个键被触发。最大扫描阵列为4x4。以MC9328MXl的PAl5、PAl6、PCI6、PCI7作为列输出驱动COL-3,用MC9328MXl的PCI4、PCI5、PA0、PCI3作为行扫描线ROW0-3。键盘跳线儿l的短路子安装应跳在电源侧,如图ll一7所示,就相当于在KEYCOL0~KEYCOI。3上分别加了上拉电阻,则KEYROW0~KEYROW3在有键盘键按下时,会有相应的电压变化。静态测试也可以,用万用表的欧姆挡测量,一般按键按下时会有相应的电压变化。静态测试也可以,用万用表的欧姆挡测量,一般按键按下时会有几Ω到几百Ω的电阻,和键盘的材料有关。下面给出对应测量KEYCOI。0~KEYCOI。3和KEYROW0~KEYROW3时,对应按下键值:
例如键“1”按下,用万用表测量KEYCOI_,0和KEYROW0之间电阻为O~几百Q之间为正常,其他依此类推。
键盘引脚与MC9328MXl引脚的对应如表l 1.5所示,4x4键盘接口电路如图11.8所示。