SC16IS752在ARM扩展串口中的应用

发布者:hxcp18最新更新时间:2012-03-24 来源: 微计算机信息 关键字:SC16IS752  串口扩展  ARM 手机看文章 扫描二维码
随时随地手机看文章

嵌入式设备中串口是最常用、最简单的接口,如何扩展CPU的串口,对于多功能嵌入式设备有着重要意义。SC16IS752是NXP公司推出带I2C/SPI总线接口转双通道UART的转换芯片,可提供高达5Mbit/s的速率,兼容广泛使用的16C450,有利于软件的移植和编写。本文中微控制器采用NXP公司推出的LPC2214,基于16/32位ARM7TDMI-STM 的内核, 144脚封装,极低的功耗, 特别适用于工业控制等。

SC16IS752的主要特性如下:

●工作电压:3.3或2.5V, 工作温度范围:-40~+85°C,低功耗, 3.3V的睡眠电流小于30uA;

●两个全双工UART,64字节的FIFO,完全可编程的字符格式,RTS/CTS自动流控制;

●封装小, 和CPU连接简单,有HVQFN32和TSSOP28封装可选。

本文采用SPI来扩展CPU串口, SC16IS752设置为从模式,下面介绍其的硬件特性。                               

1.SC16IS752的引脚功能和寄存器


图一为SC16IS752的引脚排列,表一为各引脚的功能。

图一 管脚图

表一 :SPI接口管脚功能

管脚

功能

管脚

功能

管脚

功能

1

通道A  请求发送

11

SPI数据输入脚

21

I/O 或 modem的RIB

2

通道A  清除发送

12

SPI数据输出脚

22

3

通道A  发送输出

13

SPI输入时钟

23

通道B  发送输出

4

通道A  接受输入

14

空闲 接 VDD

24

通道B  接受输入

5

硬件复位

15

中断

25

I/O 或 modem的DSRA

6

晶体输入

16

通道B 清除发送

26

I/O 或 modem的DTRA

7

晶体输出

17

通道B 请求发送

27

I/O 或 modem的CDA

8

电源电压

18

I/O 或 modem的DSRB

28

I/O 或 modem的RIA

9

SPI接口选择

19

I/O 或 modem的DTRB

 

 

10

SPI芯片选择

20

I/O 或 modem的CDB

 

 

寄存器主要有发送寄存器(THR)、接收寄存器(RHR)、控制寄存器(FCR)、线控寄存器(LCR)、状态寄存器(MCR)、MODEM状态寄存器 (MSR)、中断使能寄存器(IER)、中断识别寄存器(IIR)、除数寄存器(DLH/DLL)、发送控制寄存器(TCR)、触发点寄存器(TLR)、 I/O脚控制寄存器等。[page]

2.SC16IS752中SPI时序图

如下图所示:             

3. SC16IS752与LPC2214接口电路图

图四为扩展串口的部分电路图。采用3线制的串口连线方式,用3.3V电源对SC16IS752供电,芯片封装选用TSSOP28,晶体采用 1.8432MHZ, 震荡电路由C3、 C4组成。SC16IS752硬件采用阻容复位,由R3、C2组成,也可采用微处理器的I/O口复位,笔者对两种方法在实际中都试验过。本文采用阻容复位,这样可节省I/O 口,SC16IS752的pin15脚接到LPC2214的INT3上,这样,既可以用中断方式编写软件,也可以用扫描的方式。R4为上拉电阻,确保电平可靠。CPU的SPI1为主模式,用一个I/O连到SC16IS752的SELL1,需要注意的是LPC2214的第60脚SELL1必须接高电平,用R5作上拉电阻。R1、R2是为LPC2214内部FLASH启动设置的。特别要注意 CPU的P0.14管脚的使用,FLASH boot装载程序代码是在CPU上电或复位时执行,器件复位时,当P0.14为低电平,启动ISP, 进行软件更改;当不需要ISP功能时,接上拉电阻R6,使P0.14处于一个稳定的状态。CPU复位限于篇幅,未给出。

图四  SC16IS752与LPC2214接口电路图

4.电平转换


电平转换采用SIPEX公司的SP3232E芯片,该芯片满足EIA/TIA-232-标准。工作电压为+3.0V~5.5V, 另外,管脚提供了ESD保护。使得驱动器和接收器的管脚可承受±15KV人体放电模式和IEC1000-4-2气隙放电模式。如下图所示:

图五  电平转换

5.初始化寄存器

SC16IS752初始化寄存器的程序如下:

/*SC16IS752初始化*/

void init_is752(void) {

/*初始化SC16IS752第一个串口A.*/

    write_is752_rega(IS752_CH_A,IS752_LCR,0xbf);    write_is752_rega(IS752_CH_A,IS752_EFR,IS752_EFR_VAL);

write_is752_rega(IS752_CH_A,IS752_LCR,0x00); 

/*设置SC16IS752 串口A 中断.*/

    write_is752_rega(IS752_CH_A, IS752_IER, IS752_IER_VAL); 

    write_is752_rega(IS752_CH_A, IS752_FCR, IS752_FCR_VAL); 

    write_is752_rega(IS752_CH_A, IS752_MCR, IS752_MCR_VAL); 

    write_is752_rega(IS752_CH_A, IS752_EFCR, IS752_EFCR_VAL);       

    /*初始化SC16IS752第二个串口B,同串口A,略. 清寄存器程序,略*/

}[page]

/* 写数据 */

void write_is752_rega(unsigned char chx,unsigned char addr, unsigned char data){

    unsigned char temp;

if((IS752_CH_A == chx) ||(IS752_CH_B == chx)){

        CLR_IS752_CS;

        temp = addr<<3;

        temp |= chx;

        spi_send_byte(SPI1,tmp);      

        spi_send_byte(SPI1,data);   /*发送数据.*/

        SET_IS752_CS; 

    }   

}

/*读数据*/

unsigned char read_is752_rega(unsigned char chx, unsigned char addr){

   unsigned char temp;

if((IS752_CH_A == chx) ||(IS752_CH_B == chx)){

        CLR_IS752_CS; 

        temp = addr<<3;

        temp |= 0x80|chx;

        spi_send_byte(SPI1,temp);  

        spi_send_byte(SPI1,0xff);     

        SET_IS752_CS;  

        return(S1SPDR);

    }

}

SPI程序接口在其他书籍中有详细介绍,在此不作描述(见参考文献1)。

5. 结语

市场上有很多串口扩展芯片,我们以前也用过并口来扩展串口,如16C552,16C554等。SC16IS752与它们相比,连接简单,功耗低,体积小,在实际应用中表现出很好的稳定性,已用于我们的设计的产品中。同时它体积小,功耗低,在手持设备中将有广阔的应用前景。

本文作者创新点: 1.只用CPU的5根口线就能扩展两个串口,节约了CPU的资源;

2.体积小,功耗低,在手持设备中将有广阔的应用前景;

3.连接简单,稳定性好。

图六 SC16IS752和周围器件的大小比较  

参考文献

1. 周立功等.ARM嵌入式系统基础教程。北京:北京航空大学出版社.2005www

2. NXP公司SC16IS752 /SC15IS762 datasheet.      Rev0.12-19 September 2005

3. 李春光等。嵌入式微处理器与FLASH闪存的接口设计实现,微计算机信息, (2006)07-2-0154-04

关键字:SC16IS752  串口扩展  ARM 引用地址:SC16IS752在ARM扩展串口中的应用

上一篇:基于嵌入式Linux 系统的高速设备驱动程序实现
下一篇:基于S3C44B0开发板的图像采集方法研究

推荐阅读最新更新时间:2024-03-16 12:56

ARM发布业界最广泛的40纳米G物理IP平台
ARM公司近日宣布,开始向台积电的40纳米G制造工艺提供业界最完善的IP平台。这一ARM® 最新的、已通过流片验证的物理IP能够满足性能驱动消费产品的高成本效率开发;这些产品要求在不提高功耗的前提下提供先进的功能。这一平台是为那些期望使用40纳米工艺进行设计的开发者设计的,能够促进更高水平的技术创新,同时保持性能驱动消费产品的功耗水平。这些消费产品包括:磁盘驱动器、机顶盒、移动计算设备、网络应用、高清电视以及图形处理器。 通过多通道的逻辑库,ARM平台提供了非常高的灵活性。这些库包括高性能和高密度标准单元库,以及电源管理套件和ECO套件库扩展;后者主要用于解决亚微米设计中的漏电问题。所有的多通道长度库(length
[嵌入式]
基于ARM44B0x的信号发射机控制器设计与实现
1.前言 船舶上使用的信号发射机是连续工作的,所以需要一个控制器对发射机的工作状态进行监控,常见的是用单片机作控制器的内核,但由于32位微处理器具有更好的精度和可靠性且低成本低功耗,所以在工业控制领域的应用日益广泛。采用嵌入式的32位微处理ARMS3C44B0x作为控制器的内核,设计的控制器将比用单片机作内核的处理器具有更全面的功能和更好的使用性能。 发射机控制器的主要功能是对多路模拟量和开关量的数据采集和处理监控发射机的工作状态;控制器控制发射机同时控制器又受上位机的控制,它要能在任意时刻准备好接收从上位机串口、网口发来的数据,它们之间的相对关系如图: 图1 控制器系统结构图 上位机向控制器发送数据从而实现对控
[单片机]
基于<font color='red'>ARM</font>44B0x的信号发射机控制器设计与实现
使用 IAR for ARM 的一些心得
1. 工程中 ARM芯片选型 2. Include 目录配置 3. 配置程序在 Flash / RAM中运行 4. 配置 J-Linker仿真器 5. 修改 IAR 显示 修改左侧 Project 显示字体 修改编辑文档字体 6. IAR6.2以后的版本编译IAR6.2以前的版本会出现如下错误: view plain copy Error : declaration is incompatible with __nounwind __interwork __softfp unsigned long __REV16(unsigned long) (declare
[单片机]
使用 IAR for <font color='red'>ARM</font> 的一些心得
ARM M4F联手CMOS,共同开发可穿戴产品中的超低功耗心率监测方案
具有浮点单元的超低功耗ARM M4微控制器之领导厂商Ambiq Micro和用于人机界面(HMI)解决方案的光学CMOS传感器之领先供应商原相科技股份有限公司宣布,两家企业已经合作开发部署于下一代穿戴可产品中的超低功耗心率监测(HRM)解决方案。 可穿戴产品市场快速增长,并且正在快速发展,从主要面向健身设备演进至针对用户健康之更复杂数据和信息设备,因此,持续心率监测功能正在逐渐成为这类设备的关键要求。开发人员为了平衡可穿戴设备有限的电源资源和持续HRM运作所需的电能,因而面临巨大挑战。 对于寻求提供下一代可穿戴健康和健身应用产品的制造商和OEM厂商来说,原相科技和Ambiq Micro共同提供的解决方案真正实现了“始终开启(a
[医疗电子]
ARM平台下无线网卡的配置
前言 看了下上次博客时间,大概是毕业后到目前两个多月了没有更新博客,突然发现自己正在变得越来越懒,这可不是一个好的征兆。除过找工作一个礼拜的时间,算起来已经工作了快2个月了,目前也正在试用期,对工作也慢慢有所适应。曾经在大学听老师说“上班后第一天、第一个礼拜、第一个月都是很难受的”,这次有所体会,慢慢的对周围各种事物熟悉下来也就不会觉得难受了。 ARM平台下无线网卡的配置和平时在windows或者linux下有点不太一样,对于热衷于window的朋友可能会觉得吃力,完全没有图像界面点击,只能靠一些命令来完成。刚好周末有时间,总结下这段时间调试无线网卡相关的操作。 网卡介绍 项目中暂时调试使用的无线网卡型号是:HLK-3M0
[单片机]
<font color='red'>ARM</font>平台下无线网卡的配置
Atmel基于ARM Cortex-M的全球最低功耗解决方案
功耗仅为目前市面解决方案的三分之一, Atmel | SMART SAM L系列器件创下惊人的185分EEMBC ULPBench成绩。 中国北京,2015年4月7日 全球微控制器(MCU)和触控技术解决方案的领导者Atmel 公司(NASDAQ:ATML)近日宣布,公司目前正在试产基于业内最低功耗的ARM Cortex -M解决方案的产品,其功耗在工作模式下已降至35 A/MHz,在休眠模式下为200nA。这一超低功率SAM L系列产品拓宽了Atmel|SMART 32位ARM MCU产品阵营,将电池使用期限从数年延长至数十年,减少了各类如火灾警报、卫生保健、医疗、可穿戴设备以及安放在乡村、农业、离岸 和其它偏
[嵌入式]
ARM-Linux驱动--DM9000网卡驱动分析(三)
ARM-Linux驱动--DM9000网卡驱动分析(二)硬件平台:FL2440(s3c2440) 内核版本:2.6.35 主机平台:Ubuntu11.04 内核版本:2.6.39 交叉编译器:arm-linuc-gcc4.3.2 原创作品,转载请标明出处http://blog.csdn.net/yming0221/article/details/6615027 本文接上文 ARM-Linux驱动--DM9000网卡驱动分析(一) ARM-Linux驱动--DM9000网卡驱动分析(二) 下面开始看网卡设备的打开、关闭函数和操作函数 view plainprint? static const struct net_
[单片机]
<font color='red'>ARM</font>-Linux驱动--DM9000网卡驱动分析(三)
基于ARM的可定制MCU可承担FPGA的工作
  如今的产品生命周期可能短至六个月,因此在这种情况下要想取得定制ASIC的低成本、低功耗和高性能优势几乎是不可能的。定制ASIC的设计周期通常要一年左右,这通常要比终端产品的生命周期还要长。另外,标准单元ASIC还具有NRE费用(非重复工程成本),对于基本的0.13微米设计,该成本约为30万美元,而对于具有复杂IP内容的90nm设计将超过100万美元。因而当每年的批量小于10万片时,从经济角度看就不具有可行性。   为此人们研发出了平台化或结构化ASIC,它们具有预设计的IP块和可编程的ASIC门,可显著降低成本并缩短设计周期。这种方案将设计周期从一年甚至更长的时间缩短到几个月,还将NRE成本降低到大约15万美元,不过与门阵列
[单片机]
基于<font color='red'>ARM</font>的可定制MCU可承担FPGA的工作
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved