您当前的位置:五五电子网电子知识元器件介绍元器件特点及应用SC16IS752的特点及在ARM扩展串口中的应用 正文
SC16IS752的特点及在ARM扩展串口中的应用

SC16IS752的特点及在ARM扩展串口中的应用

点击数:7240 次   录入时间:03-04 11:58:30   整理:http://www.55dianzi.com   元器件特点及应用

    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的引脚排列,表一为各引脚的功能。     

    SC16IS752的引脚排列图

    68.jpg

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

    2.SC16IS752中SPI时序图

    如下图所示:           

    69.jpg

   



www.55dianzi.com

    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复位限于篇幅,未给出。

     

    70.jpg

    4.电平转换

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

     

    71.jpg



www.55dianzi.com

    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,略. 清寄存器程序,略*/
} /* 写数据 */
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)。



www.55dianzi.com

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

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

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

    参考文献
1. 周立功等.ARM嵌入式系统基础教程。北京:北京航空大学出版社.2005www
2. NXP公司SC16IS752 /SC15IS762 datasheet.      Rev0.12-19 September 2005
3. 李春光等。嵌入式微处理器与FLASH闪存的接口设计实现,微计算机信息, (2006)07-2-0154-04




本文关键字:暂无联系方式元器件特点及应用元器件介绍 - 元器件特点及应用