导言
暗码键盘广泛地运用在金融、电信、会员卡等许多范畴,现在商场的暗码键盘首要有三大类接口:PS2、串口和USB。可是跟着个人计算机通用外围设备越来越少地运用串口和PS2接口,这两种接口正在逐步从个人计算机特别是便携式电脑上消失。而现在商场上的许多USB暗码键盘往往是选用在本来规划的基础上加PS2转USB芯片(HID类)或许UART转USB芯片(CDC类)完结,这就形成硬件版别不兼容,出产必须有两个硬件版别。本方案依据一套硬件结构,经过软件的晋级方便地完结HID类和CDC类产品之间的转化。
1 NUC120概述
NUC120系列是Nuvoton公司推出的内嵌ARMCortex-M0核的32位微操控器,该系列最高可运行至50MHz外部时钟,内建32 KB/64 KB/128 KB的Flash存储器和4 KB/8 KB/16 KB的内建SRAM;并内置守时器、看门狗守时器、RTC、PDMA、UART、SPI/SSP、I2C、I2S、PWM守时器、GPIO、USB 2.0 FS设备、12位ADC、模仿比较器、低电压检测和欠压检测功用。
2 USB协议简介
USB通用串行总线不是一种新的总线规范,而是运用在PC范畴的接口技能,USB接口支撑设备的即插即用和热插拔功用。USB协议将设备分为几大类,每一大类义分为若干子类,别离满意不同场合的运用需求。每一大类都用一个类类型标识,如音频设备为01,人机界面设备为03,海量存储设备为08。USB的数据传输共有4种类型:操控传输、中止传输、批量传输、同步传输。在USB规范子类中,本文首要评论两类子集——HID类和CDC类。
2.1 HID类
HID(Human Interface Device,人机交互设备)类是比较大的一个类,用于操控计算机操作的一些方面,如USB鼠标、USB键盘、USB游戏操纵杆、USB触摸板、USB轨迹球、电话拨号设备、VCR遥控等设备。别的,运用HID设备的一个优点便是,操作体系自带了HID类的驱动程序,而用户无需去开发很费事的驱动程序,只需直接运用API调用即可完结通讯。所以许多简略的USB设备,喜爱枚举成HID设备,这样就可以不必装置驱动而直接运用。
2.2 CDC类
CDC(Commuuication Devce Class,通讯设备类)类是USB安排界说的一类专门给各种通讯设备(电信通讯设备和中速网络通讯设备)运用的USB子类。依据CDC类所针对通讯设备的不同,CDC类又被分红以下不同的模型:USB传统纯电话事务(POTS)模型、USB ISDN模型和USB网络模型。其间,USB传统纯电话事务模型又可分为直接线操控模型(Direct Line Control Model)、笼统操控模型(Abstract Control Model)和USB电话模型(USBTelephone Model)。一般一个CDC类又包含两个接口子类——通讯接口类(Communication Interface Class)和数据接口类(Data Interface Class)。该子类可以完结虚拟串口通讯的协议。
3 硬件规划
3.1 键盘规划
矩阵键盘又称为行列式键盘,本方案是用4根I/O线作为行线,3根I/O线作为列线组成行列式键盘,键盘规划方案如图1所示。内行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键的个数是3×4个。这种行列式键盘结构可以有用地进步单片机体系中I/O接口的利用率。NUC120系列每个I/O接口都可以作为外部中止输入脚,在此硬件基础上,可以选用中止式或查询式程序规划思路,本方案选用一个独自的守时器来守时扫描按键。
3.2 USB通讯接口规划
NUC120系列自带USB接口,该接口直接选用内置USB串行接口引擎(SIE),并且兼容USB 2.0全速标准。
其首要特征如下:
◆供给1个中止向量和4个中止事情(WAKEUP、FLDET、USB和BUS);
◆支撑Control/Bulk/Interrupt/Isochronous传输类型;
◆在没有总线活动超越3 ms后支撑暂停功用;
◆为可装备的Control/Bulk/Interrupt/Isochronous传输类型供给6个端点和最大512字节的缓存;
◆供给长途唤醒功用。
USB通讯接口电路如图2所示。在D+、D-线上选用100Ω电阻进行限流。
4 软件规划
4.1 USB接口程序
Nuvoton公司为NUC120系列CPU供给了一切外设的驱动库函数,并在USB运用方面供给了很多的例程。
本方案的两套软件别离参照Smpl_HID和Smpl_VCOM规划,大大缩短了开发时刻。库函数供给的例程如图3所示。
4.2 键盘扫描程序
键盘扫描选用守时器0,设置守时器0为每1 ms中止一次来判别是否有按键。键盘扫描程序流程如图4所示。长按不接连输出,同一个按键,必须按下、抬起才有用。读者可以依据自己体系的实践要求进行修正。键盘防抖处理可以依据自己的键盘类型来设置详细的时刻(本方案是10ms)。
结语
本方案选用依据ARM cortex-M0内核的NUC120系列微操控器,并且有很大的扩展性,可以方便地衔接液晶、语音芯片;因为内核主频最高可达50 MHz,可以完结3DES加/解密等关于8位机来说较杂乱的运算功用,具有很高的性价比。