旦经验窒 旦 Negative Metamatef i alsI J 1.IE E E T ransactions oll Antennas and Propagation ,2oo3 ,V OL .5 1 。NO.7 : 15 16 —1629. [5] Atsushi S,Koichi M,Shuji A et a 1 .A Via·Free Micmstrip Left— Handed Transmission Line [ J ] .IEEE MTI-S Digest,2004 , TUl D一 1 : 30 1 —304 . {6 1 Lin IH , Vincentis MD , Ca l oz C et a 1 .Arbitrary Dua 1 . band Corn- ponents using CRL H Lines『 J ] .IE E E T ra n s.Microwave T heory Tec h , ,V 01. 52 ,no. 4 : l 142 一l 149 . 仪器仪表用户 [ 7 ] Pozar MD. Microwave Engineering [ M ] . NewYork:John Wil ey& Sons ,2004 : 10 4—109 . [ 8] Lathi BP.Modem Dig i tal a n d Ana l ogy Com munication System [ M] .UK :Oxford University Press. 1998. 作者简介: 刘广东 ( 1979 ~) 。 男 . 讲师 , 硕士 , 研 究方 向: 微 波理论与技 术。常硕 ( 1969 —1, 男 , 副教授 , 硕 士, 研 究方向: 机载雷达工 程。齐兴 龙 ( 1972 一) 。 男, 讲师 . 硕士 , 研究方向: 机载雷达工程。 收稿 日期 : 2009 — 03 —17 (9086) doi : 10 . 3969/ j. issn. 1671 —1041. 2009 . 0 4 . 055 基 于 R TAI-L inux 的多串口卡通讯 实现 高艳辉,肖前贵, 李志字, 邢建芳 ( 南京航空航天大学 自动化学院 , 南京 210016) 摘要 :本文研究 了基于 L inux 的 多串 口卡 实时通讯 问题 。以 PC/ 10 4 多串口卡为例 。 对 L inux 和 R TA I-L inux 下多串 口卡驱动的实现 、 串口 实时通讯 程序 开 发 以及 通 讯 测试 过 程进 行 了详 细 论 述 。 最 后 采 用 RTAI 成功实现 了兼容 16550A 芯片的多串口卡实时通讯 。 关键词 : L inux;多串口卡 ;串 口通讯 ;16550A ; R TAI 中图分类号 : TP316. 8 文献标识码 : B I m plemen tation of m ul ti -port serial card comm u nication based on R T A I . L in ux GA O Y ah-hui 。 X IA O Qian-gui , L I Z hi·yu。 X ING J ian-fang ( Nanjing University of Aeronautics and Astronautics, Jiangsu Nanjing 210016, China) A bs tract :T his pa per inve stiga tes m ulti-po r t s eria l c a rd rea l· time c o rn。 munic ation bas ed on Linux .T akin g P C / 104 c ard a s the c as e 。the impleme ntation of d riving m ulti— po r t se ria l ca rd ,the pro gra m d eve lo p。 ment of rea1 . time s e ria I co mmu nic atio n 。and the proc ess es of c o m- mu nic ation tes ting a re des c rib ed in deta il.Las tly ,by us ing R T _ A I。a mu lti-por t s eria I c a rd rea l-time c o mmun ic atio n c ompatib le w ith 16550A c hip is impleme nted s uc c es sfully K ey w ords : Linux : mu lti·p or t s e rial c ard ;s e riaI c omm unic atio n ; 16550A :R T A 1 0引言 Linux 具有精巧高效的内核、 可裁减性好、 易于开发和使用 的特点 , 能适应多种 CPU 和多种 硬件 平 台。 因此 , Limtx 在航 空航天、 工业控制中的系统控制、 仿真等? 领域的应用研究得 到了广泛关注。在当前工业控制系统越来越复杂、 越来越讲 究分散控制集中管理的技术背景下, 往往面临许多外围设备 要求同时跟一台监控计算机进行数据交换, 以便能够及时地 监控每台设备, 确保每台设备能够单独被控制, 而计算机一般 所能提供的串El数量相当有限, 多串口卡为实现工业控制计 算机与多台设备同时进行多个串行通信提供了完好的解决方 案。本文以PC/ 1 0 4 多串口卡为例 , 结合 RTAI(Real-tim e appli— cation interface) , 实现 Linux 下兼容 16550A 芯片的多串口卡实 时通讯 。 1硬件及开发环境介绍 本文采用可抽换存储装置的主机/目标板开发方式, 主机 为普通PC 机, 下位机由目标板和多串口卡组成。嵌入式实时 Linux及其开发环境在参考文献[ 2] [3] 中有详尽的阐述, 限于 篇幅在此不过多介绍。 使用的目标板是盛博公司的SCM/ SF Fd(PC/ 104) CPU 卡, 94 E lC V o1 . 16 2009 No . 4 自带两个串 口。多串 口卡采用 Diamond 公司的 EMERALD. MM-8P( 以下简称 EMM8P) 。该串口卡基于 16C554 芯片的 8 串口集成板 卡, 且兼 容于 16550A 芯 片, 单 独配 置成符合 RS232C/RS2422A/RS2485 协议规范, 最高速率可达 115.2 Ida/ s 。 本文串口采用 RS232C 协议 , I/ O 地址为0x180, 中断号为 5, 按照用户手册将硬件跳线。 22. 1 多串口卡驱动的实现 L inux 下多串 口卡驱动 Linux 系统本身提供了对多串口卡的驱动支持, 内核配置 时, 选取相应选项 , 重新编译 Linux 内核。 [ ] Non-standard seria l po rt support < > 8250 / 16550 and compati bl e ser i al support [ $ ] Conso le on 8250/ 16550 and compatible seria l port ( 10 ) Maximum number of 8250/ 16550 ser i a l driver options [ ] Extended 8250/ 16550 ser i a l dr i ver options [ ] suppor t mo re than 4 legacy seria l po r t s [ ] suppor t for shar i ng ser i a l interrupts 在根文件系统下建立串口设备 , mknod 命令需要以root 用 户执行。“600” 为用户权限。由于 CPU 板 自带两个串口不需 要设 置 , 多 串口卡设 备从 ttyS2 一 ttyS9。?c ’ 表示 串 口为字符设 备。? 4 ’为设备主编号。“ 66” 为设备次编号, 多串口卡上的串 口可以依 次设定为 66 ~ 73。 # mk nod~ m 60 0 ttyS2 e 4 66 最后 , 在系统启动后, 运用 setseria l 命令 , 根据实际多串口 卡的端口基地址、 中断号、 芯片、 最大波特率等, 对其进行配置。 setsef i a l/ dev/ ttyS2 por t 0x l 00 i rq 5 uart 16 550 a fourpor t baud_ b ase 1 1520 0 经过以上设置 , 就可以在 Linux 系统下使用多串口卡上的 串口。 2. 2 RT AI— Linux 下多串口卡驱动 上述对多串口卡的支持 , 并不具备实时通讯能力。RTAI 3. 5 通过增加 RTDM( Real Time Dr i ver Mo de1) , 提供了对共享 中断的多串口卡的支持 , 可以满足串行通讯实时性的需要。 RTAI 菜单配置时, 选择 RTDM 选项, 编辑/ etc/ prof i le 文 件, 将/ usr/ rea l tim e/ bin 增加至系统环境变量 PATH。正确编译 和设置后, RTAI— Linux 就可以驱动兼容 16550A 的多串口卡。 本文编写了脚步文件 ser i a 1 . sh(注: 以 root 用户身份运行) 用于在 RTAI 中设置多串口卡。首先 , 禁用 Linu x 驱动对串口 设备的支持。然后 , 加载 RTAI 和 RTDM驱动的相关模块。在 欢迎光临本刊网站 http: / / www . eic. cor n . ca