CN105046178B - 一种stm32降频实现高速率读卡器的方法 - Google Patents
一种stm32降频实现高速率读卡器的方法 Download PDFInfo
- Publication number
- CN105046178B CN105046178B CN201510359564.9A CN201510359564A CN105046178B CN 105046178 B CN105046178 B CN 105046178B CN 201510359564 A CN201510359564 A CN 201510359564A CN 105046178 B CN105046178 B CN 105046178B
- Authority
- CN
- China
- Prior art keywords
- frequency
- stm32
- system clock
- card reader
- etu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Communication Control (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开一种STM32降频实现高速率读卡器的方法,包括初始化STM32微控制器的***时钟为48Mhz;初始化GPIO;初始化STM32微控制器的USART接口为7816模式,***时钟设置为5分频,CLK设置为4.8Mhz;根据ETU=(F/D)×(1/f),得到ETU的最小值,其中F/D为波特率转换因子,f是ISO7816/智能卡的CLK频率。本发明采用STM32F103微型控制器,将***时钟设置为48Mhz,***时钟5分频使得CLK最大值为4.8Mhz,依此ETU的最小值为2.42us,根据ETU=(F/D)*(1/f),使最大通信速率达到412903bps,比原来主频率为72Mhz时达到的通信速率高出25807bps。本发明具有使读卡器通信速率提高,读卡器的阅读速度加快,使用者满意度提升的优点。
Description
技术领域
本发明涉及通信领域,尤其涉及一种STM32降频实现高速率读卡器的方法。
背景技术
目前的读卡器主要采用STM32微型控制平台。读卡器的ISO7816是由USART(Universal Synchronous/Asynchronous Receiver/Transmitter通用同步异步收发器)接口的智能卡模式实现。ISO7816接口通信速率取决于ETU(Elementary TimeU nit基本时间单元),ISO7816接口传输1个字节时需要10个ETU。ETU的值由时钟频率决定,ETU与时钟频率呈现关系为:ETU=(F/D)×(1/f),其中,F/D为波特率转换因子,取决于智能卡,f是ISO7816/智能卡的CLK的频率,取决于读卡器。由于ETU的值取决于F/D和f,因此F/D的值越小,f的值越大,ETU的值越小,读卡器通信速率越快。当前的读卡技术将基于STM32F103平台的***时钟设置为72Mhz,CLK取最大值为4.5Mhz,F/D取最小值11.625,得出ETU的值为2.58us,使得目前的最大通信速率只能达到387096bps。因此当智能IC卡接触到读卡器,读卡器读取智能IC卡的最高通信速率只能达到387096bps。然而随着读卡器的广泛应用,人们对读卡器的阅读效率要求越来越高,387096bps的通信速率已经满足不了现代人对读卡器高速率的通信需求。
发明内容
本发明的目的在于提供一种STM32降频实现高速率读卡器的方法,该方法基于STM32F103平台的ISO7816最高通信速率应用,能够提高读卡器的通信速率,实现读卡器高速阅读的目的。
为解决上述技术问题,本发明采用如下所述的技术方案。一种STM32降频实现高速率读卡器的方法,包括以下步骤:初始化STM32微控制器的***时钟为48Mhz;初始化GPIO;初始化STM32微控制器的USART接口为7816模式,***时钟设置为5分频,CLK设置为4.8Mhz;根据ETU=(F/D)×(1/f),得到ETU的最小值,其中F/D为波特率转换因子,f是ISO7816/智能卡的CLK频率。
优选地,初始化STM32微控制器***时钟,设置***时钟来源为PLL,将PLL***时钟倍频到48Mhz。
优选地,初始化STM32微控制器USART接口为智能卡模式,即STM32微控制器的7816模式由USART接口的智能卡模式实现。
优选地,USART产生CLK频率的算法如下:
***时钟的分频因子为:USART_GTPR[4:0]×2,依此将***时钟设置为5分频,根据预设算法CLK频率=***时钟/(USART_GTPR[4:0]×2),得到CLK频率为4.8Mhz。
优选地,根据ETU=(F/D)×(1/f),可知F/D的值越小,f的值越大,ETU的值越小,通信速率越快。
优选地,根据ISO7816规范将F/D设置为最小值,即11.625。
优选地,STM32微控制器选为STM32F103系列。
本发明的有益技术效果在于:本发明采用STM32F103微型控制器,将***时钟设置为48Mhz,***时钟5分频得到CLK最大值为4.8Mhz,依此ETU的最小值为2.42us,根据ETU=(F/D)*(1/f),使最大通信速率达到412903bps,比原来主频率为72Mhz时达到的通信速率高出25807bps。本发明具有使读卡器通信速率提高,读卡器的阅读速度加快,使用者的满意度提升的优点。
附图说明
图1是本发明实施例的流程图。
具体实施方式
为使本领域的普通技术人员更加清楚地理解本发明的目的、技术方案和优点,以下结合附图和实施例对本发明做进一步的阐述。
参考图1所示,在本实施例中,该STM32降频实现高速率读卡器的方法包括以下步骤:
步骤S1:初始化堆栈;
步骤S2:初始化STM32微控制器的***时钟为48Mhz;
步骤S3:初始化GPIO(General Purpose Input Output通用输入输出);
步骤S4:初始化STM32微控制器的USART接口为7816模式,***时钟设置为5分频,CLK设置为4.8Mhz;
步骤S5:根据ETU=(F/D)×(1/f),得到ETU的最小值,其中F/D为波特率转换因子,f是ISO7816/智能卡的CLK频率。
具体地,步骤S1为初始化堆栈。STM32微控制器运行或内部函数执行时要用到了一些寄存器,对于这些寄存器的值,要先保存起来,而后跳转到子函数中去执行,以防止其被破坏。
STM32***时钟有三种不同的时钟源:HSI振荡器时钟(由芯片内部RC振荡器提供),HSE振荡器时钟(由芯片外部晶体振荡器提供),PLL时钟(通过倍频HSI或HSE振荡器倍频得到)。其中,HSI高速内部时钟是由内部RC振荡器产生的8MHz时钟。HSE高速外部时钟是由外部4~16MHz的晶体或有源晶振提供,通常采用8MHz。8MHz外部晶体或晶振输入后,先经过一个开关PLLXTPRE(HSE divider for PLLentry),此开关决定对HSE进行2分频,再输入到PLL或直接到PLL。这样时钟又到了第二个开关PLLSRC(PLL entry clock source),此开关决定PLL的时钟来源是内部高速时钟二分频的时钟还是PLLXTPRE的输出。PLL倍频器,由PLLMUL决定倍频***数,可以选择2~16倍频输出,但PLL输出频率最高72MHz,这时的PLLCLK为USB提供时钟时钟在STM32USB的48MHz时钟、***时钟SYSCLK、实时时钟模块RTC、独立看门狗的时钟IWDGCLK。
具体地,在本实施例中,步骤S2为初始化STM32微控制器***时钟,设置***时钟来源为PLL,将PLL***时钟倍频到48Mhz。即将进入PLL的8Mhz进行6倍频后得到48Mhz,藉由PLL***时钟的6倍频可将***时钟设置为48Mhz。
具体地,在STM32***时钟初始化为48Mhz后,步骤S3为初始化GPIO,以便启动***输入输出口。
具体地,在本实施例中,步骤S4:初始化STM32微控制器USART接口为智能卡模式,即STM32微控制器的7816模式由USART接口的智能卡模式实现。ISO7816标准是以时间单位的形式,为异步协议定义了ETU的位时间,它与智能卡的时间频率相联系,一个ETU的长度是一个位时间,USART接收器和发送器在内部通过Rx-SW相连接,将数据从STM32微控制器传输到智能卡,USART必须设置成智能卡模式。
优选地,本实施例中,STM32微控制器为STM32F103。ISO7816接口的通信速率取决于ETU,ISO7816接口传输1个字节时需要10个ETU。ETU的值由时钟频率决定,ETU与时钟频率呈现关系为:ETU=F/D*(1/f);根据ETU公式可以从中得知,当F/D的值越小,f的值越大,ETU的值越小,通信速率越快。F/D是波特率转换因子,取决于智能卡,f是ISO7816/智能卡的CLK的频率,取决于读卡器。
STM32F103平台读卡器的ISO7816是由USART接口的智能卡模式实现。根据STM32参考手册可知STM32F103常用***时钟为72Mhz,智能卡的合法CLK频率取值范围是1~5MHz。
USART产生CLK频率的算法如下:***时钟的分频因子USART_GTPR[4:0]×2,其中,USART_GTPR为保护时间和预分频寄存器。在智能卡模式下,USART_GTPR[4:0]预分频值,对***时钟进行分频,给智能卡提供时钟。寄存器中给出的值(低5位有效)乘以2后,作为对***时钟的分频因子。如将USART_GTPR的低5位设置为00010,则表示对***时钟进行4分频;将USART_GTPR[4:0]设置为00011,则表示对源时钟进行6分频。
根据预设算法CLK频率=***时钟/(USART_GTPR[4:0]×2)。表一为STM32F103***时钟设置为72Mhz,可能产生的CLK频率值配置表:
USART_GTPR[4:0] | USART的CLK频率 |
7 | 5.14Mhz |
8 | 4.5Mhz |
9 | 4.0Mhz |
10 | 3.6Mhz |
11 | 3.27Mhz |
表一
根据表格表一中的参数,当STM32F103的***时钟为72Mhz时,USART_GTPR[4:0]取值为8,即USART_GTPR[4:0]设置为01000,CLK=72/(8×2)可以得智能卡合法CLK频率中的最大值4.5Mhz。
根据预设算法CLK频率=***时钟/(USART_GTPR[4:0]×2)。表二为STM32F103***时钟设置为48Mhz,可能产生的CLK频率值配置表,当USART_GTPR[4:0]取值为5,CLK=48/(5×2),即可以得智能卡合法CLK频率中的最大值4.8Mhz。
USART_GTPR[4:0] | USART的CLK频率 |
4 | 6.0Mhz |
5 | 4.8Mhz |
6 | 4.0Mhz |
7 | 3.42Mhz |
8 | 3.0Mhz |
表二
根据表二中的参数,当STM32F103的***频率配置为48Mhz时,可得出STM32F103的***时钟为48Mhz时,USART_GTPR[4:0]取值为5,可以得出智能卡合法CLK频率中的最大值4.8Mhz。
由ISO7816的规范得知F/D的最小值为11.625。根据上面的描述得知,当F/D最小,CLK最大时,ISO7816通信速率达到最大值。当STM32F103主频为72Mhz时,CLK最大值为4.5Mhz,ETU的最小值为2.58us,最大通信速率为387096bps。当STM32F103主频为48Mhz时,CLK最大值为4.8Mhz,ETU的最小值为2.42us,最大通信速率为412903bps。
以上所述仅为本发明的优选实施例,而非对本发明做任何形式上的限制。本领域的技术人员可在上述实施例的基础上施以各种等同的更改和改进,凡在权利要求范围内所做的等同变化或修饰,均应落入本发明的保护范围之内。
Claims (7)
1.一种STM32降频实现高速率读卡器的方法,其特征在于,包括以下步骤:
初始化堆栈;
初始化STM32微控制器的***时钟为48Mhz;
初始化GPIO;
初始化STM32微控制器的USART接口为7816模式,***时钟设置为5分频,CLK设置为4.8Mhz;
根据ETU=(F/D)×(1/f),得到ETU的最小值,其中F/D为波特率转换因子,f是ISO7816/智能卡的CLK频率。
2.如权利要求1所述的STM32降频实现高速率读卡器的方法,其特征在于:初始化STM32微控制器***时钟,设置***时钟来源为PLL,将PLL***时钟倍频到48Mhz。
3.如权利要求1所述的STM32降频实现高速率读卡器的方法,其特征在于:初始化STM32微控制器USART接口为智能卡模式,即STM32微控制器的7816模式由USART接口的智能卡模式实现。
4.如权利要求1所述的STM32降频实现高速率读卡器的方法,其特征在于:USART产生CLK频率的算法如下:
***时钟的分频因子为:USART_GTPR[4:0]×2,依此将***时钟设置为5分频,根据预设算法CLK频率=***时钟/(USART_GTPR[4:0]×2),得到CLK频率为4.8Mhz。
5.如权利要求1所述的STM32降频实现高速率读卡器的方法,其特征在于:根据ETU=(F/D)×(1/f),可知F/D的值越小,f的值越大,ETU的值越小,通信速率越快。
6.如权利要求5所述的STM32降频实现高速率读卡器的方法,其特征在于:根据ISO7816规范将F/D设置为最小值,即11.625。
7.如权利要求1至6中任一项所述的STM32降频实现高速率读卡器的方法,其特征在于:STM32微控制器选为STM32F103系列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510359564.9A CN105046178B (zh) | 2015-06-25 | 2015-06-25 | 一种stm32降频实现高速率读卡器的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510359564.9A CN105046178B (zh) | 2015-06-25 | 2015-06-25 | 一种stm32降频实现高速率读卡器的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105046178A CN105046178A (zh) | 2015-11-11 |
CN105046178B true CN105046178B (zh) | 2017-10-10 |
Family
ID=54452709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510359564.9A Expired - Fee Related CN105046178B (zh) | 2015-06-25 | 2015-06-25 | 一种stm32降频实现高速率读卡器的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105046178B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701057A (zh) * | 2016-01-14 | 2016-06-22 | 北京握奇数据***有限公司 | 7816接口与uart接口的通讯速率匹配方法及*** |
CN110887458A (zh) * | 2019-12-04 | 2020-03-17 | 成濮生 | 一种林业用便携式测量*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1633141A (zh) * | 2005-01-18 | 2005-06-29 | 大唐微电子技术有限公司 | 将sim卡电话簿导入智能终端的方法和所用的智能终端 |
CN101382990A (zh) * | 2008-10-31 | 2009-03-11 | 北京飞天诚信科技有限公司 | 一种使读写器支持任意卡时钟频率下波特率的***与方法 |
CN101561894A (zh) * | 2009-05-19 | 2009-10-21 | 北京握奇数据***有限公司 | 智能卡及确定第二控制器通信速率的方法 |
CN101847215A (zh) * | 2009-03-26 | 2010-09-29 | 上海华虹集成电路有限责任公司 | 非接触式ic卡的时钟电路和数据解码电路 |
-
2015
- 2015-06-25 CN CN201510359564.9A patent/CN105046178B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1633141A (zh) * | 2005-01-18 | 2005-06-29 | 大唐微电子技术有限公司 | 将sim卡电话簿导入智能终端的方法和所用的智能终端 |
CN101382990A (zh) * | 2008-10-31 | 2009-03-11 | 北京飞天诚信科技有限公司 | 一种使读写器支持任意卡时钟频率下波特率的***与方法 |
CN101847215A (zh) * | 2009-03-26 | 2010-09-29 | 上海华虹集成电路有限责任公司 | 非接触式ic卡的时钟电路和数据解码电路 |
CN101561894A (zh) * | 2009-05-19 | 2009-10-21 | 北京握奇数据***有限公司 | 智能卡及确定第二控制器通信速率的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105046178A (zh) | 2015-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9772970B2 (en) | Multi-protocol serial communication interface | |
CN102306136B (zh) | 基于单片机输入捕获功能的波特率自适应方法 | |
US11226917B2 (en) | Translation-based signal generation method and device, home bus system (HBS) circuit, and user equipment | |
CN105046178B (zh) | 一种stm32降频实现高速率读卡器的方法 | |
CN101901022B (zh) | 时钟精度调节模块与方法及应用其的通用串行总线设备 | |
CN107423239A (zh) | Halt模式下的低功耗单片机完整数据帧接收方法 | |
CN102945061A (zh) | 用于产生usb外设时钟的电路及方法 | |
CN205451031U (zh) | 一种基于fpga技术的视频处理*** | |
CN202904429U (zh) | 用于产生usb外设时钟的电路 | |
CN108011619A (zh) | 一种脉冲码型发生器 | |
CN103646225B (zh) | 一种用于超高频射频识别标签反向通信速率的方法和电路 | |
CN104052505A (zh) | 单芯片无线发射机、发射芯片及信号发射方法 | |
CN108540128A (zh) | 一种时钟分频电路及其分频方法 | |
CN104144137B (zh) | 一种高速lvds串行同步通讯控制器 | |
US20130077734A1 (en) | Initializing A Ring Counter | |
KR100866602B1 (ko) | Ask rf 신호 디코딩 장치 및 그 방법 | |
CN104391817A (zh) | 与***设备同步的电子*** | |
CN206133354U (zh) | 一种易于实现的SOC内置高精度RC Oscillator的校准*** | |
CN102929330A (zh) | 用于产生usb外设时钟的电路及方法 | |
CN204759719U (zh) | 一种无线遥控解码装置 | |
CN104732264B (zh) | 基于gpio接口实现非接触式通信的***、方法及智能卡 | |
US8953662B1 (en) | Method and apparatus for baud rate tracking | |
CN202904428U (zh) | 用于产生usb外设时钟的电路 | |
CN206461605U (zh) | 一种集成对讲模块及其*** | |
CN203376748U (zh) | 单总线接收逻辑结构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Longgang District of Shenzhen City, Guangdong province 518000 Dragon Street Longgang Tianan cyber Park 4 Building A block 16 layer Applicant after: GUANGDONG HUADA INTEGRATION TECHNOLOGY CO., LTD. Address before: Longgang District of Shenzhen City, Guangdong province 518000 Dragon Street Longgang Tianan cyber Park 4 Building A block 16 layer Applicant before: Guangdong Huada Integration Technology Co., Ltd. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171010 Termination date: 20190625 |
|
CF01 | Termination of patent right due to non-payment of annual fee |