碧波液压网 欢迎你,游客。 登录 注册

基于ARM9和Linux的嵌入式打印终端系统

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  1 嵌入式打印终端系统的设计原理

  图1 打印终端原理图

  嵌入式打印终端原理连接图如图1所示。主要由开发板、主机、打印机和扫描仪四部分组成。主机是一台PC机。开发板采用的是三星公司S3C2410开发板,ARM9的核,跑的是2.4内核版本的嵌入式Linux操作系统。扫描仪为超市等用的手持扫描仪。再加一台微型打印机接在开发板的GPIO口上。

  工作流程为:开发板将扫描仪的数据从串口读出,然后通过网口将数据发送给主机进行检索处理。开发板等待直至接收到主机处理完毕的数据后转发给打印机,将信息打印出来。

  2 嵌入式打印终端系统的硬件设计

  2.1硬件开发平台S3C2410结构

  三星公司的S3C2410开发板用的是32位RISC架构基于ARM920T核,其增强的MMU单元、AMBA总线,可以支持WinCE、Linux等实时操作系统。片上资源丰富接口众多,包含LCD控制器、USB Host、CS9800A网络芯片、SD卡、3个UART通用异步串行口等设备接口。[1]

  2.2打印机与开发板接口电路的设计

  我们使用的微型打印机使用的是并行接口。由于开发板上没有提供并口,所以必须自己设计一个板卡接口电路,以连接打印机的并口和我们的嵌入式开发板。查看S3C2410的电路原理图,由于此系统不需要用到LCD屏,可以将板子上用于LCD连接的GPIO口进行改造,根据ARM9core的LCD电路引脚和板上的LCD插槽定义,如图2,找到了14根空闲的GPIO口:

  gpio_c8~gpio_d15,gpi0_d0~gpio_d4。用这14根通用输入输出口连接微型打印机的并口。

  同时查看打印机的电路手册和管脚定义,选用其STB选通线、ACK回答脉冲线、BUSY线、DATA0-DATA7数据线来与开发板的GPIO口相连,并初始化高低电平值。为了避免接线过紧互相干扰,制作一个接口板定义各引脚连接如图3所示。

  至此,硬件的电路设计及连接基本完成。

  3嵌入式打印终端系统的软件设计

  软件平台采用的是基于2.4内核的嵌入式Linux系统。采用的交叉编译器工具包为CROSS2.95.3.tgz(包含arm-linux-gcc等)。

  3.1 打印机驱动的编写

  Linux的设备分为块设备,字符设备和网络设备,该系统使用到的微型打印机属于字符设备,下面将具体说明如何设计打印机驱动。

  3.1.1 定义设备名

  #define DEVICE_NAME weida_printer

  3.1.2 模块函数设计

  在该系统中,采用模块化加载驱动程序的方法,因此必须实现模块的初始化函数和卸载函数。采用devfs方式注册打印机。

  初始化函数weida_init通过devfs_register函数向系统注册设备。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论