寄存器css加载失败

css加载失败  时间:2021-04-13  阅读:()
HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL1/88HT8550用户手册钜泉光电科技(上海)股份有限公司HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL2/88目录1芯片概况91.
1简介91.
2基本特性91.
3应用范围101.
4系统框图101.
5缩略语112引脚说明122.
1引脚框图122.
2引脚功能123电气规格143.
1极限参数143.
2电气特性144电源与时钟154.
1电源系统154.
2低功耗154.
2.
1门控时钟154.
2.
2时钟调整154.
2.
3MCUIDLE模式154.
2.
4MCUSTOP模式.
164.
2.
5特殊功能寄存器164.
3时钟系统174.
3.
1PLL时钟174.
3.
2时钟源选择和时钟分频.
174.
3.
3特殊功能寄存器184.
4复位系统214.
4.
1上电/掉电复位214.
4.
2外部引脚复位224.
4.
3看门狗复位224.
4.
4软件复位224.
4.
5特殊功能寄存器225控制单元(MCU)235.
1MCU架构235.
2存储单元235.
2.
1概述235.
2.
2片内资源访问245.
2.
3片外资源访问265.
3DMA.
265.
3.
1概况265.
3.
2DMA操作流程265.
3.
3特殊功能寄存器265.
4中断系统325.
4.
1概述325.
4.
2基于GPIO的中断335.
4.
3DMA中断.
335.
4.
4RTC中断.
335.
4.
5QMD中断.
335.
4.
6CC中断.
335.
4.
7掉电检测中断335.
4.
8中断列表335.
4.
9中断优先级345.
4.
10中断处理35HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL3/885.
4.
11特殊功能寄存器355.
5定时器405.
5.
1概述405.
5.
2定时器0详细说明405.
5.
3定时器1详细说明415.
5.
4定时器2详细说明425.
5.
5特殊功能寄存器425.
6GPIO.
465.
6.
1特殊功能寄存器486其他外设496.
1FLASH控制器.
506.
1.
1Flash控制器简介.
506.
1.
2FLASH作为程序扩展.
506.
1.
3特殊功能寄存器506.
2SPI接口.
536.
2.
1概述536.
2.
2主机模式546.
2.
3从机模式546.
2.
4特殊功能寄存器546.
3I2C接口566.
3.
1概述566.
3.
2特殊功能寄存器576.
4UART接口.
686.
4.
1概述686.
4.
2红外调制686.
4.
3UART0接口.
706.
4.
4UART1接口.
726.
4.
5特殊功能寄存器736.
5RTC单元.
766.
5.
1概况766.
5.
2RTC开启和停止.
776.
5.
3RTC寄存器读写.
776.
5.
4RTC报警.
776.
5.
5特殊功能寄存器786.
6看门狗定时器806.
6.
1概述806.
6.
2看门狗使能806.
6.
3看门狗计数器清零816.
6.
4特殊功能寄存器816.
7JTAG调试.
817AFE相关寄存器配置817.
1寄存器描述817.
1.
1ANALOG_CFG1.
827.
1.
2ANALOG_CFG2.
827.
1.
3VCC_LOSS827.
1.
4AGC_LOOP_CFG1.
827.
1.
5AGC_LOOP_CFG2.
837.
1.
6AGC_LOOP_CFG3.
837.
1.
7AGC_LOOP_STATUS1.
837.
1.
8AGC_LOOP_STATUS2.
837.
1.
9ALC_CONTROL.
847.
2ALC功能描述847.
3掉电检测847.
4AGC的配置.
85HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL4/888MCU与PHY交互858.
1概述858.
2PHY功能简介858.
3参数设置869芯片封装尺寸8610附录8610.
1寄存器列表86HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL5/88ListofTables表1缩略语11表2引脚概述14表3极限参数14表4电气特性15表5电源控制寄存器列表16表6电源控制寄存器(PCON0x87H)16表7时钟模块表格18表8时钟相关寄存器列表19表9ADC和QMD时钟分频控制寄存器(ADC_QMD_CLK_CTRL0xACH)19表10外部Flash时钟分频控制寄存器(FLASH_CLK_DIV0xD6H)19表11时钟开启控制寄存器(CLK_ON0xE5H)20表12时钟开启控制寄存器(CLK_OFF0xE6H)20表13MAC时钟分频控制寄存器(MAC_CLK_DIV0xF1H)21表14时钟控制寄存器(CLK_CTRL0xF2H)21表15复位寄存器列表22表16复位设置寄存器(RST_SET0xE7H)23表17复位撤销寄存器(RST_CLR0xE8H)23表18内部数据存储器通用工作寄存器区.
25表19DMA寄存器列表.
27表20DMASEL寄存器描述(DMASEL0xA1H)27表21DMAS0寄存器描述(DMAS00xA2H)27表22DMAS1寄存器描述(DMAS10xA3H)28表23DMAS2寄存器描述(DMAS20xA4H)28表24DMAS3寄存器描述(DMAS30xA5H)28表25DMAT0寄存器描述(DMAT00xA6H)28表26DMAT1寄存器描述(DMAT10xA7H)28表27DMAT2寄存器描述(DMAT20xB1H)28表28DMAT3寄存器描述(DMAT30xB2H)28表29DMAC0寄存器描述(DMAC00xB3H)29表30DMAC1寄存器描述(DMAC10xB4H)29表31DMACSR寄存器描述(DMACSR0xB5H)30表32DMATC寄存器描述(DMATC0xB6H)31表33DMASC寄存器描述(DMASC0xB7H)31表34MISC_PARAM寄存器描述(MISC_PARAM0xA1H)31表35MISC_ADDR寄存器描述(MISC_ADDR0xA2H)32表36CRC和扰码的表格32表37HT8550中断系统.
34表38中断优先级34表39中断优先级组成员35表40中断寄存器列表35表41IEN2寄存器描述(IEN20x9AH)35表42IEN0寄存器描述(IEN00xA8H)36表43IEN1寄存器描述(IEN10xB8H)37表44IRCON寄存器描述(IRCON0xC0H)38表45MAC_INTR_MASK寄存器描述(MAC_INTR_MASK0xFAH)39表46GPIO_INTR_FLAGS寄存器描述(GPIO_INTR_FLAGS0xFBH)39表47PHY_INTR_FLAGS寄存器描述(PHY_INTR_FLAGS0xFCH)39表48定时器0和定时器1,定时器2寄存器列表.
42表49定时器0、定时器1控制寄存器(TCON0x88H)43表50定时器0、定时器1模式寄存器(TMOD0x89H)44表51定时器1状态寄存器(TH10x8DH)44HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL6/88表52定时器1状态寄存器(TL10x8BH)44表53定时器0状态寄存器(TH00x8CH)44表54定时器0状态寄存器(TL00x8AH)45表55定时器2控制寄存器(T2CON0xC8H)45表56定时器2状态寄存器(TH20xCDH)45表57定时器2状态寄存器(TL20xCCH)46表58GPIO定义.
48表59GPIO寄存器列表.
48表60GPIO中断极性选择寄存器(GPIO_INTR_POLARITY0xF9H)49表61GPIOport选择寄存器(GPIO_MODE_SEL0xFEH)49表62GPIO模式选择寄存器(GPIO_CTRL0xFFH)49表63FLASH控制器寄存器列表.
51表64Flash控制寄存器(FLASH_CTRL0x8FH)51表65Flash数据寄存器(FLASH_DATA0x91H)51表66Flash状态寄存器(FLASH_STATUS0x96H)52表67Flash复制寄存器(FLASH_COPY0xABH)52表68Flash页复制寄存器(FLASH_COPY_PAGES0xBEH)52表69Flash异或寄存器(FlashMemoryXOR0xD5H)53表70Flash存储编程锁定寄存器(ProgramMemoryLock0xD7H)53表71SPI相关寄存器列表.
54表72SPI控制寄存器(SPSTA0xE1H)55表73SPI状态寄存器(SPCON0xE2H)56表74SPI数据寄存器(SPDAT0xE3H)56表75SPI从机选择寄存器(SPSSN0xE4H)56表76I2C时序特征57表77I2C寄存器列表58表78I2C数据寄存器(I2CDAT0xDAH)58表79I2C地址寄存器(I2CADR0xDBH)58表80I2C控制寄存器(I2CCON0xDCH)59表81I2C状态寄存器(I2CSTA0xDDH)59表82I2CStatusinMasterTransmitterMode.
61表83I2CStatusinMasterReceiverMode.
62表84I2CStatusinslaveReceiverMode.
65表85I2CStatusinslaveTransmitterMode.
67表86I2CStatus-miscellaneousstates.
68表87红外相关寄存器69表88串口红外控制寄存器(UART_IR_CTRL0xBCH)69表89串口红外频分寄存器(UART_IR_DIV0xBDH)70表90UART0常用波特率.
70表91UART1常用波特率.
72表92UART寄存器列表.
74表93串口0控制寄存器(S0CON0x98H)74表94串口0缓冲寄存器(S0BUF0x99H)75表95串口1控制寄存器(S1CON0x9BH)75表96串口1缓冲寄存器(S1BUF0x9CH)75表97串口1波特率发生器的重载值低位(S1RELL0x9DH)76表98串口0波特率发生器的重载值低位(S0RELL0xAAH)76表99串口0波特率发生器的重载值高位(S0RELH0xBAH)76表100串口1波特率发生器的重载值高位(S1RELH0xBBH)76表101AD控制寄存器(ADCON0xD8H)76表102RTC寄存器列表.
78表103RTC选择寄存器(RTCSEL0xCEH)78HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL7/88表104RTC数据寄存器(RTCDAT0xCFH)79表105RTC中断使能寄存器(IEN40xD1H)79表106RTCCRTC时钟控制寄存器(RTCSEL=0x4)80表107看门狗寄存器列表81表108看门狗加载寄存器(WDTREL0x86H)81表109模拟前端寄存器列表82表110ANALOG_CFG1寄存器(ANALOG_CFG10xF3H)82表111ANALOG_CFG2寄存器(ANALOG_CFG20xC9H)82表112VCC_LOSS寄存器(VCC_LOSS0xBFH)82表113AGC_LOOP_CFG1寄存器(AGC_LOOP_CFG10xF4H)83表114AGC_LOOP_CFG2寄存器(AGC_LOOP_CFG20xF7H)83表115AGC_LOOP_CFG3寄存器(AGC_LOOP_CFG30xF8H)83表116AGC_LOOP_STATUS1寄存器(AGC_LOOP_STATUS10xFDH)83表117AGC_LOOP_STATUS2寄存器(AGC_LOOP_STATUS20xD4H)84表118ALC_CONTROL寄存器(ALC_CONTROL0xAFH)84HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL8/88ListofFigures图1HT8550系统框图.
10图2引脚分布图12图3存储器空间(片内MCU访问)24图4内部数据存储器功能结构25图5SPI数据输出帧格式.
54图6I2C输出时序57图7I2C输入时序57图8I2C协议57图9串口红外调制69图10UART0模式0的帧格式.
71图11UART0模式1发送帧格式.
71图12UART0模式2帧格式.
71图13RTC框图.
77图14ALC框图84图15掉电检测功能示意图85图16交互帧结构图85图17LQFP48packageinformation(单位mm)86HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL9/881芯片概况1.
1简介HT8550是一款高性能电力线载波通信芯片,采用先进的数模混合设计技术与工艺,提供低功耗、高灵敏度、高抗干扰能力的电力线数据通信,可实现各种类型的数据传输及远程抄表应用.
HT8550是高集成度SOC芯片,它将模拟前端、数字调制解调、基带数据处理和8051MCU以及FLASH存储器等模块完全在单芯片上实现.
HT8550支持多种模式及双载波发送与接收,包括通信的载波频率、双载波间隔,传输速率以及调制方式均可灵活配置.
HT8550内部集成12bit高精度ADC、45dB动态范围信号放大器、自动增益控制环路,使模拟信号接收处理得到进一步优化;内置10比特DAC及低通滤波器,使得发送时产生的带外干扰得以抑制,HT8550支持时域分集接收技术可有效提高对抗电力线脉冲干扰能力;支持双载波频域分集模式可极大增强对抗频域窄带干扰性能.
HT8550采用DPSK调制方式、高效可靠的前向纠错技术、可灵活配置的传输模式,使其可以在各种不同噪声的电力线环境下实现自适应可靠通信.
HT8550片内集成8051内核,支持多种外围接口,并能够完成MAC层及以上协议层所需各种功能及应用.
1.
2基本特性工作电压:5V采用0.
162umCMOS工艺片内集成8051内核,兼容8051指令集和总线结构片内集成128KB程序存储内存以及8KB数据存储内存调制方式:DBPSK,DQPSK,D8PSK片内集成12位ADC和高动态范围自动增益控制电路片内集成45dB可变增益放大器片内集成10位DAC可编程载波:3~500kHz接收灵敏度优于0dBuV符号传输速率可调,最高可达41.
67Kbaud,净数据传输率最高可达55Kbps推荐符号速率15.
625Kbaud,净数据传输率2.
524Kbps支持长包传输:255字节支持时域重叠交织及分集接收技术支持频域分集接收技术:双载波模式可编程卷积编码效率:1/2,3/4支持芯片工作状态监控:接收信号强度指示,接收信噪比可动态配置传输模式片内集成硬件看门狗电路HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL10/88内置低功耗RTC支持UART、SPI、I2支持多种DMA方式C等接口支持ALC功能1.
3应用范围远程自动抄表智能家居路灯控制工控自动化智能楼宇控制远程监控1.
4系统框图QuadratureModulator/Demodulator(QMD)ADC_INNADC_INPTX_OUTA/DVGAD/ATXFilterOSCLDORSTDataMemWDTMCUProcessorFLASH_SCLKFLASH_CS_NFLASH_SOUTFLASH_SINI2C_SCLI2C_SDAAVSSAVDDXTAL1AXTAL2ATX_BUSYWDTENRSTNDVDD1P8AGCFlashControllerUART0_TXUART0_RXUART1_TXUART1_RXInfraredSPI_SINSPI_CS_NSPI_SCLKSPI_SOUTRTCCCCodecCRCFLASHPLL图1HT8550系统框图HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL11/881.
5缩略语缩略语英文原文ADCAnalogtoDigitalConverterAGCAutoGainControlAMPAmplifierAMRAutomaticMeterReadingARQAutomaticRepeatRequestBORBrownOutResetBPFBandPassFilterCRCCyclicredundancyCheckCarrierSenseMultipleAccessCSMADCDualCarrierDDSDirectlyDigitalSynthesizerDMDatamemoryDNLDifferentialNon-linearityDPSKDifferentialPhase-shiftkeyingFCHFrameControlHeaderFECForwardErrorCorrectionGPIOGeneralPurposeIOINLIntegralNon-linearityIRQInterruptRequestLDOLowDrop-OutRegulatorLSBLeastSignificantBitMSBMostSignificantBitOSCOscillatorOSROverSampleRatePLCPowerlinecommunicationPMProgrammemoryPORPowerOnResetRCRepetitionCodeReceiverSignalStrengthIndicatorRSSIRTCRealTimeClockSCSingleCarrierSCMSystemClockManagmentSFRSpecialFunctionRegisterSPISerialPeripheralInterfaceUAMUserApplicationModeWDTWatchDogTimer表1缩略语HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL12/882引脚说明2.
1引脚框图HT8550123456789101112131415161718192021222324363534333231302928272625484746454443424140393837RSTNGP_2UART0_RXUART0_TXTX_BUSYADC_INPAVDDAVSSAVDDTX_OUTALC_VINALC_IINAVDDMCU_TMSWDTENCLKOUTFLASH_SINFLASH_CS_NFLASH_SCLKFLASH_SOUTNCNCGP_0DVDDDVSSSPI_SOUTSPI_SCLKSPI_CS_NSPI_SINI2C_SDAI2C_SCLGP_1GP_3ADC_INNxxxxxxxxxMCU_TDIMCU_TDOMCU_TCKAVSSVCC_DETDVDD1P8DVSSDVDDXTAL1AXTAL2AERASEGP_4UART1_TXUART1_RX图2引脚分布图2.
2引脚功能HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL13/88PinNo.
PinNameDefaultFunction1RSTNExternalResetsignal,lowactive2GP_2GeneralPurposeInput/Output3TX_BUSYTXbusyindicator4GP_3GeneralPurposeInput/Output5ADC_INNRXnegativesignalinput6ADC_INPRXpositivesignalinput7AVDD5VAnalogpowersupply8AVSSAnalogpowerground9AVDD5VAnalogpowersupply10TX_OUTTXsignaloutput11ALC_VINSamplingvoltagesignalasinputforALCcircuit12ALC_IINSamplingcurrentsignalasinputforALCcircuit13AVDD5VAnalogpowersupply14AVSSAnalogpowerground15VCC_DETVCCpowerdetect16DVDD1P81.
8Vdigitalcorepowersupply,adda10uFexternaldecouplingcapacitor17DVSSDigitalground18DVDD5VDigitalIOpowersupply19XTAL1A24MCrystalOscillatorInput20XTAL2A24MCrystalOscillatoroutput21ERASEEraseflashprogram,negativepulseenable22GP_4GeneralPurposeInput/Output23UART1_TXMCUUART1datatransmiting24UART1_RXMCUUART1datareceiving25NCNoconnection26NCNoconnection27FLASH_SOUTFLASHdownloaddataout28FLASH_SCLKFLASHdownloadclk29FLASH_CS_NFLASHdownloadcontrolport30FLASH_SINFLASHdownloaddatain31CLKOUTMACclockoutput32WDTENOnchipwatch_dogenable,highactive33MCU_TMSJTAGModeSelectInput34MCU_TDIJTAGDataInput35MCU_TDOJTAGDataOuput36MCU_TCKJTAGClock37GP_0GeneralPurposeInput/Output38DVDD5VDigitalIOpowersupply39DVSSDigitalground40SPI_SOUTSPIserialdataoutput41SPI_SCLKSPIserialclock42SPI_CS_NSPIchipselect43SPI_SINSPIserialdatainput44I2C_SDAI2Cinterfaceserialdata45I2C_SCLI2Cinterfaceserialclock46GP_1GeneralPurposeInput/Output47UART0_RXMCUUART0datatransmiting48UART0_TXMCUUART0datareceivingHT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL14/88表2引脚概述Note:表2中引脚功能描述只限于默认属性,多数数字电路引脚都是复用的,GPIO、中断等均可扩展,具体应用请参照相关章节.
3电气规格3.
1极限参数ITEMRANGEUNITSVDDtoGND-0.
5~+6.
0VIOtoGND-0.
5~+6.
0VContinuousPowerDissipation1500(derate25mW/℃,above70℃)mWOperatingTemperatureRange-40~+85℃StorageTemperatureRange-50~+150℃LeadTemperature(soldering,10S)300℃表3极限参数注意:超过极限参数使用芯片,将可能导致芯片永久性失效.
3.
2电气特性(电源电压:4.
5V~5.
5V,工作温度范围:-40℃~85℃,典型工作温度25℃.
)PARAMETERSYMBOLCONDITIONSMINTYPMAXUNITSDCCHARACTERISTICSSupplyVoltageVDD4.
55.
05.
5VSupplyCurrentIRXmode@12MHzDD10.
513.
017.
8mATXmode@12MHz12ListenMode@1.
2MHz7.
29.
614.
4High-levelInputVoltageVIH4.
0VLow-levelInputVoltageVIL1.
0VHigh-levelOutputVoltageVSource5mAOH4.
2VLow-levelOutputVoltageVSink5mAOL0.
8VACCHARACTERISTICSRECEIVERSensitivity5.
0V,25℃1μV(rms)VGADynamicRange-3~42dBHT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL15/88ADCFullScaleVpp2VSampleFrequencyFs12/24MHzResolutionOSR=3212BitsOSR=1610INL±0.
5LSBDNL±0.
5LSBSFDR70dBTRANSMITTEROutputRangeVpp1.
0VPre-DrvierGainRange-0.
5~10.
5dBDACResolution10BitsINL±0.
5LSBDNL±0.
5LSBSFDR70dB表4电气特性4电源与时钟4.
1电源系统HT8550具有多组供电电源,其中DVDD和DVSS为数字电路提供电源,AVDD和AVSS为模拟电路提供电源.
HT8550片内集成了1.
8VLDO,因此它只需采用5V外部单电源供电.
4.
2低功耗HT8550采用了一系列低功耗设计,如门控时钟、时钟调整、MCUIDLE模式、MCUSTOP模式等低功耗设置.
根据需要灵活地配置系统工作时钟,休眠或开启相关功能模块,可有效降低芯片功耗.
4.
2.
1门控时钟HT8550定义了寄存器CLK_ON和CLK_OFF(详见4.
3时钟系统),用于开启和关闭一些功能模块的时钟,以降低功耗.
例如,在接收(RX)阶段,可以关闭发送(TX)时钟(其他情形详见《应用手册》).
4.
2.
2时钟调整HT8550中的时钟处理模块中,有多组时钟分频器(详见4.
3时钟系统),可以用来调整各个功能模块的工作时钟,使其在较低的工作频率下,获得较低的功耗.
4.
2.
3MCUIDLE模式配置寄存器PCON[0]=1,可控制MCU进入IDLE模式.
当MCU进入IDLE模式后,8051HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL16/88外设时钟仍然正常运行,但是MCU核的时钟将被关闭,从而降低功耗.
当MCU收到任何中断或者复位后,将自动从IDLE模式切换到正常工作模式.
4.
2.
4MCUSTOP模式配置寄存器PCON[1]=1,可控制MCU进入STOP模式.
当MCU进入STOP模式后,8051外设时钟和MCU核的时钟将被关闭,从而降低功耗.
当MCU收到PHY中断,DMA中断,RTC中断,GPIO中断或掉电中断或复位后,将自动从STOP模式切换到正常工作模式.
STOP模式比IDLE模式节省更多的功耗,但是需要外部中断将MCU唤醒.
4.
2.
5特殊功能寄存器电源寄存器列表如下:地址名称复位值功能简介0x87PCON0x08电源控制寄存器表5电源控制寄存器列表4.
2.
5.
1PCON位位名称复位值描述属性7SMOD0串口0波特率选择位设置为1时,波特率将翻倍.
R/W6WDT_TM0看门狗内部测试标志位设置为1时,看门狗输入时钟=系统时钟/12.
CPU正常模式下,必须设置为0.
R/W5ISR_TM0中断服务函数内部测试标志位设置为1时,内部中断源只能通过GPIO口控制.
CPU正常模式下,必须设置为0.
R/W4PMW0程序空间写使能位设置为1时,MCU可以写程序空间.
CPU正常工作模式下,必须设置为0.
R/W3P2SEL1地址空间扩展选择位当CPU执行MOVX指令是,选择16位地址扩展方式.
CPU正常工作模式下,必须设置为1.
R/W2GF00通用标志位可以作为bit变量使用.
R/W1STOP0STOP模式控制位设置为1时,CPU将进入STOP模式.
读返回值总是0.
R/W0IDLE0IDLE模式控制位设置为1时,CPU将进入IDLE模式.
读返回值总是0.
R/W表6电源控制寄存器(PCON0x87H)HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL17/884.
3时钟系统HT8550采用了24MHz晶体振荡器,片内PLL将其倍频至48MHz.
HT8550的PHY子系统和MAC子系统都配有时钟处理模块,将输入时钟进行选频和分频后,提供给PHY和MCU作为工作时钟.
HT8550内部产生32.
768KHz时钟,作为RTC时钟和各功能模块工作时钟源.
4.
3.
1PLL时钟PLL的时钟源为外部晶体振荡器(OSC)提供的24MHz时钟,PLL固定将输入时钟倍频2,然后输出48MHz时钟给MCU和PHY系统.
HT8550内部有时钟锁定检测模块.
时钟锁定标志将反映在寄存器CLK_CTRL[6].
MCU通过查验该寄存器,可以判断PLL是否进入锁定状态.
如果为1,说明PLL已经锁定,从而可以将时钟源从OSC切换到PLL.
4.
3.
2时钟源选择和时钟分频时钟源选择模块有3路时钟源,24MHzOSC时钟、48MHzPLL时钟和32.
768KHzRTC时钟.
时钟源选择模块负责选取其中一路时钟,作为工作时钟源.
时钟分频模块中有多组时钟分频器,将工作时钟源分频后,提供给MAC子系统和PHY子系统的各个功能模块.
具体如下表:功能模块输入时钟频率范围说明时钟源选择32kHz,24MHz,48MHz时钟源选择模块负责从24MHzOSC时钟、48MHzPLL时钟和32.
768KHzRTC时钟3路时钟中,选取其中一路时钟,作为工作时钟源.
工作时钟源为各功能模块时钟分频器的源头.
MAC子系统Min:32kHzMax:16MHzMAC时钟必须一直处于开启状态.
可以通过配置寄存器MAC_CLK_DIV调整MAC时钟的频率.
注:MAC时钟不得高于16MHz.
QMD模块6MHz,12MHz系统复位后,QMD时钟默认为关闭状态.
在进行QMD寄存器读写前,必须配置寄存器CLK_ON开启QMD时钟.
QMD默认工作时钟为12MHz.
配置寄存器ADC_QMD_CLK_CTRL可调整其值.
注:1.
在发送状态下,QMD不支持6MHz工作模式.
2.
在接收状态下,当QMD处于6MHz工作模式时,要求ADC时钟为12MHz,此时,符号速率小于12Ksps;当QMD处于12MHz模式时,ADC时钟可以为12MHz/24MHz.
3.
只有当QMD模块处于IDLE模式下,才可以将QMD时钟在12MHz/6MHz之间切换.
ADC模块12MHz24MHz配置寄存器CLK_ON可以控制ADC时钟的开关,以降低功耗.
注:HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL18/881.
当QMD处于RX模式时,ADC时钟将被强制打开.
为了降低功耗,推荐将CLK_ON寄存器中ADC时钟开关的bit置0.
2.
当载波频率低于187.
5kHz时,推荐将ADC时钟配置为12MHz;高于187.
5kHz时,将ADC时钟配置为24MHz.
通过配置寄存器ADC_QMD_CLK_CTRL可以改变ADC的时钟.
DAC模块6MHz配置寄存器CLK_ON可以控制DAC时钟的开关,以降低功耗.
注:当QMD处于TX模式时,DAC时钟将被强制打开.
为了降低功耗,推荐将CLK_ON寄存器中DAC时钟开关的bit置0.
Flash控制器Min:32kHzMax:48MHz访问片外Flash的串行时钟,默认为关闭.
当需要访问片外扩展时,可配置寄存器CLK_ON开启该时钟.
也可通过FLASH_CLK_DIV寄存器调整该时钟频率.
表7时钟模块表格4.
3.
3特殊功能寄存器时钟相关寄存器列表如下:地址名称复位值功能简介0xACADC_QMD_CLK_CTRL0x0ADC和QMD时钟控制注:1.
在对CLK_CTRL寄存器进行写操作后,等待10个时钟周期后,方可对本寄存器进行写操作.
2.
只在QMD处于IDLE模式时才可修改本寄存器值.
0xD6FLASH_CLK_DIV0x0外部Flash时钟分频控制0xE5CLK_ON0x09时钟开启控制寄存器注:1.
对本寄存器的相应位写入1,可开启相应时钟;写入0,无影响.
2.
当且仅当相应位被写入1时,相应位会被置1,其他条件不会令其置1(例外:CLK_ON[0]始终为1).
3.
读取该寄存器,可判断哪些功能模块的时钟已开启.
0xE6CLK_OFF0x29时钟关闭控制寄存器注:1.
对本寄存器的相应位写入1,可关闭相应时钟;写入0,无影响.
2.
读取该寄存器,将得到CLK_ONHT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL19/88地址名称复位值功能简介的值.
3.
读取该寄存器,可判断哪些功能模块的时钟已开启.
0xF1MAC_CLK_DIV0x01MAC时钟分频控制0xF2CLK_CTRL0x10时钟控制寄存器表8时钟相关寄存器列表4.
3.
3.
1ADC_QMD_CLK_CTRL位位名称复位值描述属性7:2-0x00保留位.
-1-0QMD时钟控制0:QMD时钟为12MHz.
1:QMD时钟为6MHz(只有在接收模式下,当ADC时钟为12MHz,且符号率(symbolrate)低于12K时,才可使用该配置.
在发送模式下不可使用该配置;如果该位已被置1,在进入发送模式前,须手动配置为0).
R/W0-0ADC时钟控制0:ADC采样时钟为24MHz,采样率为1.
5Msps.
1:ADC采样时钟为12MHz,采样率为750Ksps.
R/W表9ADC和QMD时钟分频控制寄存器(ADC_QMD_CLK_CTRL0xACH)4.
3.
3.
2FLASH_CLK_DIV位位名称复位值描述属性7:2-0x00保留位.
-1:0-00Flash时钟分频系数(工作时钟源/flash时钟)00:不分频;01:2分频;10:3分频;11:4分频;例如,该寄存器值为0x1,系统时钟源为48MHzPLL时钟,则提供给Flash的时钟为24MHz.
R/W表10外部Flash时钟分频控制寄存器(FLASH_CLK_DIV0xD6H)4.
3.
3.
3CLK_ON位位名称复位值描述属性7:6-00保留位.
-HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL20/885-0开启Flash时钟对该位写入1时,可开启flash时钟.
当CLK_OFF[5]被写入1时,CLK_ON[5]将被清零.
R/W4-0开启QMD时钟该位写入1时,可开启QMD时钟.
当CLK_OFF[4]被写入1时,CLK_ON[4]将被清零.
R/W3-1保留位.
-2-0开启ADC时钟对该位写入1时,将开启ADC时钟.
如果该位为0,当QMD进入接收模式时,ADC时钟也可以自动被开启.
此时,该位仍保持0.
当CLK_OFF[2]被写入1时,CLK_ON[2]将被清零.
R/W1-0开启DAC时钟对该位写入1时,将开启DAC时钟.
如果该位为0,当QMD进入发送模式时,DAC时钟也可以自动被开启.
此时,该位仍保持0.
当CLK_OFF[1]被写入1时,CLK_ON[1]将被清零.
R/W0-1开启MAC时钟注:始终开启,不会关闭.
R表11时钟开启控制寄存器(CLK_ON0xE5H)4.
3.
3.
4CLK_OFF位位名称复位值描述属性7:6-00保留位.
-5-1关闭Flash时钟写1关闭时钟,写0无效.
R/W4-0关闭QMD时钟写1关闭时钟,写0无效.
R/W3-1保留位.
-2-0关闭ADC时钟当QMD进入接收模式时,即使对该位写入1,也不会关闭ADC时钟,但CLK_ON[2]将会被清零.
R/W1-0开启DAC时钟当QMD进入发送模式时,即使对该位写入1,也不会关闭DAC时钟,但CLK_ON[1]将会被清零.
R/W0-1保留位.
-表12时钟开启控制寄存器(CLK_OFF0xE6H)HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL21/884.
3.
3.
5MAC_CLK_DIV位位名称复位值描述属性7:0-0x01MAC时钟分频系数(工作时钟源/MAC时钟)n:MAC时钟为系统时钟的n+1分频.
例如,该寄存器值为0x3,系统时钟为24MHzOSCar时钟,则MAC时钟为6MHz.
注:MAC时钟最高频率为16MHz.
R/W表13MAC时钟分频控制寄存器(MAC_CLK_DIV0xF1H)4.
3.
3.
6CLK_CTRL位位名称复位值描述属性7-0保留位.
-6-0PLL锁定标志位0:PLL未锁定1:PLL已锁定R5:4-01PLL锁定检测精度设置00:bypass,PLL锁定标志始终为1;01:低精度;10:中精度;11:高精度;R/W3-0bit[3],bit[0]结合,控制时钟源选择00:24MHzOSC时钟作为工作时钟源;01:48MHzPLL时钟作为工作时钟源;1X:32.
787KHz时钟作为系统时钟源,系统进入低功耗模式.
R/W20关闭PLL控制位0:开启PLL;1:关闭PLL;R/W10保留位.
-00bit[3],bit[0]结合,控制时钟源选择R/W表14时钟控制寄存器(CLK_CTRL0xF2H)4.
4复位系统HT8550支持5种复位方式:上电复位POR(Power-OnReset)掉电复位BOR(BrownOutReset)外部引脚/RST复位看门狗复位软件复位4.
4.
1上电/掉电复位当电源加到芯片上时,将会发生上电复位,复位电平3.
5V.
片上也集成了BOR功能,当HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL22/88电源电压跌落至3.
3V或以下时,将会发生掉电复位.
4.
4.
2外部引脚复位外部复位引脚RSTN出现低电平时,将引起系统复位(参考复位电压为0.
7V,即低于0.
7V时芯片复位).
该引脚应连接100kΩ上拉电阻与0.
1uF电容构成的上电检测电路.
4.
4.
3看门狗复位看门狗是一个特殊的定时器,依据系统时钟计时,计满预定时间则发出溢出脉冲,产生看门狗复位.
如果在溢出脉冲发生前将看门狗计数器清零,则不会产生看门狗复位信号.
看门狗复位只是将MCU核复位,其他寄存器将保留上一次的值.
4.
4.
4软件复位通过设置寄存器RST_SET[0]=1,可产生reboot复位,系统将重新启动.
将MCU核和外设将初始化,但是时钟分频相关的寄存器为上一次的值.
4.
4.
5特殊功能寄存器复位相关寄存器列表如下:地址名称复位值功能简介0xE7RST_SET0x0复位设置注:1.
对本寄存器的相应位写入1,可产生相应复位信号;写入0,无影响.
2.
位[4:2],[0]被写入1后,将产生相应复位信号.
产生的复位信号将在复位动作完成后,自动撤销.
复位信号撤消后,读取该寄存器,相应位为先前写入的值1.
0xE8RST_CLR0x0复位撤销注:1.
读取本寄存器,将得到RST_SET的值.
表15复位寄存器列表4.
4.
5.
1RST_SET位位名称复位值描述属性7-0boot完成状态标志R6-0boot锁定状态标志(Flash验证失败标志)R5-0保留位.
R4-0设置外部flash复位R/W3-0设置卷积编码器复位R/W2-0设置QMD复位R/W1-0设置8051核复位对该位写入1,该位将被置0,并使8051核处于复位状态.
对RST_CLR[1]写入1,RST_SET[1]将被置1,同时,8051核进入工作状态.
R/W0-0设置reboot复位R/WHT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL23/88表16复位设置寄存器(RST_SET0xE7H)4.
4.
5.
2RST_CLR位位名称复位值描述属性7:2-0x0保留位.
R1-0撤销8051核复位对该位写入1,可撤销8051复位信号,RST_SET[1]变为1,8051核进入工作状态;写入0,无影响.
R/W0-0保留位.
R表17复位撤销寄存器(RST_CLR0xE8H)5控制单元(MCU)5.
1MCU架构HT8550采用R8051XC内核,具有和8051兼容的体系架构.
支持多种工作时钟,最高可运行在20MHz8KB数据存储空间128KBFLASH程序存储空间RealTimeClock(RTC)DMA片外FLASH扩展2个UART接口,包含红外调制与解调功能SPI主/从接口I2C主/从接口3个定时器硬件看门狗8个外部中断22个GPIO5.
2存储单元5.
2.
1概述对HT8550片内MCU来说,存储器结构与标准8051相似,可以利用片内存储资源,也可以用片外存储资源.
片内存储资源:内部RAM外部数据存储器程序存储器HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL24/88特殊功能寄存器(SFR)片外存储资源:可接外部flash片外可扩展Flash为程序存储器,最高可达512KB5.
2.
2片内资源访问对HT8550片内MCU来说,存储器结构与标准8051相似,有3个存储空间:128KB程序存储器(ProgramMemory).
256B内部数据存储器(InternalDataMemory).
8KB扩展数据存储器(ExternalDataMemory).
0x00000x1FFFFProgramMemory(128KB)0x00000x1FFFExternalDataMemory(8KB)Upper128BytesLower128BytesSFRSpace0x000x800xFF0x7FInternalDataMemory(256B)图3存储器空间(片内MCU访问)程序存储器、内部数据存储器和扩展数据存储器是分开的,分别有自己的寻址系统、控制信号和功能.
程序存储器用来存放程序和一些常量,用MOVC指令访问;数据存储器用来存放程序运行时需要的变量,内部数据存储器用MOV指令访问,扩展数据存储器用MOVX指令访问.
在扩展存储模式下,通过将FLASH映射到PM,可实现在FLASH上直接运行程序.
内部数据存储器是最灵活的地址空间.
它分为物理上独立且性质不同的三个区:0x00~0x7F单元组成的128字节地址空间的RAM区;0x80~0xFF空间组成的高128字节的RAM区;128字节地址空间的特殊功能寄存器区.
内部数据存储器中不同的地址区域功能结构如图5所示.
HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL25/880x00Bank0Lower128BytesUpper128Bytes(Optional)DirectorIndirectAddressingSFRSpaceBank1Bank2Bank3BankSelect(PSW[4:3])111001000x070x080x200x0F0x100x170x180x1F0x2F0x300x7FBit-AddressableRegisters7F780007.
.
.
.
.
.
······DirectRAM0x000x7F0x800xFFDirectAddressingOnlyIndirectAddressingOnly0x800xFF图4内部数据存储器功能结构其中0x00~0x1F共32个字节是四个通用工作寄存器区,每一个区有八个工作寄存器R0~R7.
每个区中R0~R7地址见表10.
当前程序使用的工作寄存器区是由状态字PSW(SFR0xD0)中的RS1和RS0来指示的.
MCU通过对PSW中RS1和RS0位内容的修改,就能任选一个工作寄存器区.
这个特点使HT8550具有快速现场保护的功能.
如果用户程序不需要四个工作寄存器区,则不用的工作寄存器区单元可以作一般的RAM使用.
Keilc的C编译环境中经常使用某一组R0-R7传递参数,因此需要使用宏命令#pragmaNOAREGS防止寄存器组切换,避免出现参数传递错误.
内部数据存储器的0x20~0x2F为位寻址区.
位寻址区的每一位都可以视作软件触发器,由程序直接进行位处理.
通常把各种程序状态标志、位控制变量设在位寻址区.
同样,位寻址单元也可以作为一般的数据缓冲器使用.
0区1区2区3区地址寄存器地址寄存器地址寄存器地址寄存器00HR008HR010HR018HR001HR109HR111HR119HR102HR20AHR212HR21AHR203HR30BHR313HR31BHR304HR40CHR414HR41CHR405HR50DHR515HR51DHR506HR60EHR616HR61EHR607HR70FHR717HR71FHR7表18内部数据存储器通用工作寄存器区在实际的程序中需要堆栈以保存MCU的现场,堆栈原则上可以设在内部数据存储器的任意区域内,但一般设在30H~FFH的范围内.
栈顶的位置由栈指针SP指出.
HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL26/885.
2.
3片外资源访问片外可以扩展一个512KB的flash存储器,该flash可作为外部程序存储器,地址从0x80000开始,可通过PAGESEL特殊寄存器进行地址选择跳到外部flash.
与片外flash进行连接的是SPI协议模块,所以片外flash必须是带spi接口的.
详细配置参考《flash控制器》.
5.
3DMA5.
3.
1概况HT8550包含两条独立的DMA线程,能够实现DM和DM之间的数据DMA操作;此外DMA模块还可以实现以下功能:利用DMA读取或写入MCU的SPI接口利用DMA读取或写入MCU的UARTDMA模块还具有CRC校验功能和扰码生成功能,其中线程0可以生成CRC校验结果,线程1可以生成扰码结果.
每个DMA线程都有各自的特征多项式,并支持8、16、32位CRC校验.
DMA传输的数据长度没有包括校验位和扰码.
如果DMA源地址和目的地址相同,则不会向目标地址写数据,但是会产生CRC结果或者扰码结果.
当选择CRC校验时,计算出来的校验位会与数据后的校验位进行对比,如果不一致,将会产生错误标志位.
每个DMA线程都能在DMA结束的时候对8051请求中断.
可以通过读取DMACSR.
5判断中断源.
5.
3.
2DMA操作流程1)通过配置寄存器DMASEL选择线程;2)如果线程选择5,则可以配置CRC多项式或者扰码多项式以及校验的初始值;当DMA传输完成后,硬件按照配置的公式计算CRC或者扰码的结果.
3)完成第2步后,需要设置线程为0或者1,通过配置寄存器DMAS0-4和DMAT0-4设置DMA传输的源地址和目标地址;设置的地址为32位的全局地址;4)通过配置寄存器DMAC0-1,选择DMA传输的长度;单位为字节或者比特;5)通过配置寄存器DMATC和寄存器DMASC选择DMA传输的目标地址和源地址存储类型,以及DMA传输时,地址自动增减或不变;6)通过配置寄存器DMACSR,可以选择是否使能DMA传输完成中断;7)最后,通过配置寄存器DMACSR启动DMA传输.
5.
3.
3特殊功能寄存器DMA寄存器列表如下:地址名称复位值功能简介0xA1DMASEL0x0DMA线程选择寄存器.
0xA2DMAS00x0DMA配置和状态寄存器,根据DMASEL寄存器的配置,可以控制3个线程.
0xA3DMAS10x00xA4DMAS20x00xA5DMAS30x0HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL27/88地址名称复位值功能简介0xA6DMAT00x00xA7DMAT10x00xB1DMAT20x00xB2DMAT30x00xB3DMAC00x00xB4DMAC10x00xB5DMACSR0x00xB6DMATC0x00xB7DMASC0x0表19DMA寄存器列表5.
3.
3.
1DMASEL位位名称复位值描述属性7:5-0保留位.
读取该3位,得到0x0.
R4:3-0DMA错误标志位Bit4:线程1的DMA错误标志位;Bit3:线程0的DMA错误标志位;当DMASEL[4:3]置位时,代表FIFO有溢出或者下溢,并且会产生中断,无论DMA中断是否使能.
可以通过写1,清除相应的错误标志位,并且将DMA复位.
可以写两次1到相应的标志位确保线程被完全复位.
R/W2:0-0线程选择000=Thread0;001=Thread1;010=Reserved;011=Reserved;100=Reserved;101=MISCParametersRegisterSelect;R/W表20DMASEL寄存器描述(DMASEL0xA1H)5.
3.
3.
2DMAS0当DMASEL[2:0]=000b或者001b时,以下寄存器对MCU可见位位名称复位值描述属性7:0-0DMA源地址0DMAS0[7:0]=SourceAddress[7:0].
R/W表21DMAS0寄存器描述(DMAS00xA2H)5.
3.
3.
3DMAS1当DMASEL[2:0]=000b或者001b时,以下寄存器对MCU可见位位名称复位值描述属性7:0-0DMA源地址1DMAS0[7:0]=SourceAddress[15:8].
R/WHT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL28/88表22DMAS1寄存器描述(DMAS10xA3H)5.
3.
3.
4DMAS2当DMASEL[2:0]=000b或者001b时,以下寄存器对MCU可见位位名称复位值描述属性7:0-0DMA源地址2DMAS0[7:0]=SourceAddress[23:16].
R/W表23DMAS2寄存器描述(DMAS20xA4H)5.
3.
3.
5DMAS3当DMASEL[2:0]=000b或者001b时,以下寄存器对MCU可见位位名称复位值描述属性7:0-0DMA源地址3DMAS0[7:0]=SourceAddress[31:24].
R/W表24DMAS3寄存器描述(DMAS30xA5H)5.
3.
3.
6DMAT0当DMASEL[2:0]=000b或者001b时,以下寄存器对MCU可见位位名称复位值描述属性7:0-0DMA目的地址0DMAS0[7:0]=TargetAddres[7:0].
R/W表25DMAT0寄存器描述(DMAT00xA6H)5.
3.
3.
7DMAT1当DMASEL[2:0]=000b或者001b时,以下寄存器对MCU可见位位名称复位值描述属性7:0-0DMA目的地址1DMAS0[7:0]=TargetAddres[15:8].
R/W表26DMAT1寄存器描述(DMAT10xA7H)5.
3.
3.
8DMAT2当DMASEL[2:0]=000b或者001b时,以下寄存器对MCU可见位位名称复位值描述属性7:0-0DMA目的地址2DMAS0[7:0]=TargetAddres[23:16].
R/W表27DMAT2寄存器描述(DMAT20xB1H)5.
3.
3.
9DMAT3当DMASEL[2:0]=000b或者001b时,以下寄存器对MCU可见位位名称复位值描述属性7:0-0DMA目的地址3DMAS0[7:0]=TargetAddres[31:24].
R/W表28DMAT3寄存器描述(DMAT30xB2H)HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL29/885.
3.
3.
10DMAC0当DMASEL[2:0]=000b或者001b时,以下寄存器对MCU可见位位名称复位值描述属性7:0-0DMA传输长度0当DMASEL[2:0]=000b时,单位:字节.
传输的长度不包含CRC,当选择CRC编码模式时,硬件计算的CRC结果会自动保存到目标地址的结尾;当选择CRC译码模式时,在源地址的后面必须增加CRC的值,硬件在数据传输完成后,会读取该值与计算的值进行比较.
当DMASEL[2:0]=001b时,单位:比特.
当扰码器使能时,扰码器输出的数据是以字节为单位,如果输入的比特不是8的倍数,扰码器将在后面补0.
当扰码器关闭时,扰码器输出的结果只是将比特转化为字节.
DMAC0[7:0]=TransferCount[7:0]0代表不传送,1代表传送1字节.
R/W表29DMAC0寄存器描述(DMAC00xB3H)5.
3.
3.
11DMAC1当DMASEL[2:0]=000b或者001b时,以下寄存器对MCU可见位位名称复位值描述属性7:0-0DMA传输长度1DMAC1[7:0]=TransferCount[15:8].
R/W表30DMAC1寄存器描述(DMAC10xB4H)5.
3.
3.
12DMACSR当DMASEL[2:0]=000b时,以下寄存器对MCU可见位位名称复位值描述属性7-0启动DMA.
在DMA启动后,该位自动清为0,此时读取得到0.
R/W6-0DMA忙状态,只读.
R/W5-0DMA传送完成状态,写0清除.
R/W4-0DMA中断使能.
写1使能.
R/W3-0CRC校验结果错误标志位,如果校验不正确,此位为1.
R/WHT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL30/882-0CRC模式0=解码.
要传输的数据和CRC多项式将会经过CRC单元,但是传输的数据长度不包括校验码.
最终的校验码会和0比较.
只有指定长度的数据会被写到目的地址.
1=编码.
指定长度的数据会经过CRC单元,最终的校验码会放在目的地址末尾.
要传输的数据量不需要包括CRC校验码.
要传输的数据和CRC多项式将会经过CRC单元,但是传输的数据长度不包括校验码.
最终的校验码会和0比较.
只有指定长度的数据会被写到目的地址.
R/W1:0-0[1:0]CRC多项式类型:00=Disable;01=1Byte;10=2bytes;11=4bytes;R/W当DMASEL[2:0]=001b时,以下寄存器对MCU可见位位名称复位值描述属性7-0开始DMA,硬件清除.
R/W6-0DMA忙状态,只读.
R/W5-0DMA传送完成状态,写0清除.
R/W4-0DMA中断使能.
R/W3:2-0保留.
R1-0初始化扰码状态机.
写1复位,硬件自动清零.
R/W0-0保留.
R表31DMACSR寄存器描述(DMACSR0xB5H)5.
3.
3.
13DMATC当DMASEL[2:0]=000b或者001b时,以下寄存器对MCU可见位位名称复位值描述属性7:5-0保留.
R4:2-0目标类型000:DataMemory;001:保留;010:保留;011:保留;100:SPI;101:SERIAL0;110:保留;111:保留;R/WHT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL31/881:0-0地址更新控制00:固定地址;01:自动增加;10:自动减少;R/W表32DMATC寄存器描述(DMATC0xB6H)5.
3.
3.
14DMASC当DMASEL[2:0]=000b或者001b时,以下寄存器对MCU可见位位名称复位值描述属性7:5-0保留.
R4:2-0目标类型000:DataMemory;001:保留;010:保留;011:保留;100:SPI;101:SERIAL0;110:保留;111:保留;R/W1:0-0地址更新控制00:固定地址;01:自动增加;10:自动减少;R/W表33DMASC寄存器描述(DMASC0xB7H)5.
3.
3.
15MISC_PARAM当DMASEL[2:0]=101b时,以下寄存器对MCU可见位位名称复位值描述属性7-0置1,数据bit反向,仅对CRC有效.
R/W6-0置1,先处理字节中的低位R/W5-0置1,CRC结果取反.
R/W4-0为1时,CRC初始值为全1;为0时,初值为0.
R/W3:0-0保留.
R表34MISC_PARAM寄存器描述(MISC_PARAM0xA1H)5.
3.
3.
16MISC_ADDR当DMASEL[2:0]=101b时,以下寄存器对MCU可见位位名称复位值描述属性7:5-0表格选择000=CRC多项式;001=CRC校验码/初始值;R/WHT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL32/884:0-0表格的偏移地址,详细参考下表.
R/W表35MISC_ADDR寄存器描述(MISC_ADDR0xA2H)CRCPolynomial&CRCTable名称偏移量复位值描述CRCPoly0Offset00x00假设Xn=1.
如果CRC-8X8+X2Polynomial[7:0]+X+1,则Polynomial=0x7CRCPoly1Offset10x00Polynomial[15:8]CRCPoly2Offset20x00Polynomial[23:16]CRCPoly3Offset30x00Polynomial[31:24]CRCChecksum0Thread0Offset00x00Checksum[7:0]CRCChecksum1Thread0Offset10x00Checksum[15:8]CRCChecksum2Thread0Offset20x00Checksum[23:16]CRCChecksum3Thread0Offset30x00Checksum[31:24]ScramblerTableSCR_Poly0Offset00x00ScramblerPolynomial[7:0]SCR_Poly1Offset10x00ScramblerPolynomial[15:8]SCR_State0Offset20x00ScramblerState[7:0]SCR_State1Offset30x00ScramblerState[15:8]表36CRC和扰码的表格5.
4中断系统5.
4.
1概述HT8550中断系统支持8个外部中断和外设中断.
其中8个外部中断产生的条件如下:将GPIO设置为外部中断模式,可以触发相应的外部中断.
2个DMA中断.
RTC中断PHY中断(QMD中断(PHY_INTR[0]),卷积编码中断(PHY_INTR[2]))掉电检测中断外设中断包括:定时器T0、T1、T2中断、串口0,1中断,SPI中断,I2C中断.
HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL33/885.
4.
2基于GPIO的中断设置寄存器GPIO_CTRL,将相应GPIO设置为外部中断(ExternalInterrupt)功能,则相应GPIO可作为外部中断源(详见5.
6GPIO).
寄存器PHY_INTR_FLAGS反映了处于外部中断功能的GPIO的状态,以便于MCU确定中断源.
PHY_INTR_FLAGS的值直接来自GPIO引脚,不受GPIO_INTR_POLARITY的影响.
例如,GPIOport0,7,9,19被设置为外部中断功能,MCU收到外部中断后,读取寄存器PHY_INTR_FLAGS值为0x08,则可断定中断源为GPIOport19.
外部中断与GPIO的对应关系:Ext.
Intr[0]=GPIOport0orGPIOport8orGPIOport16Ext.
Intr[1]=GPIOport1orGPIOport9orGPIOport17Ext.
Intr[2]=GPIOport2orGPIOport10orGPIOport18Ext.
Intr[3]=GPIOport3orGPIOport11orGPIOport19Ext.
Intr[4]=GPIOport4orGPIOport12orGPIOport20Ext.
Intr[5]=GPIOport5orGPIOport13orGPIOport21Ext.
Intr[6]=GPIOport6orGPIOport14Ext.
Intr[7]=GPIOport7orGPIOport155.
4.
3DMA中断通过设置DMA中断使能寄存器(DMACSR[4],详见5.
3DMA)使得DMA线程在完成DMA传输后,发出中断信号.
其中,DMA线程0产生的中断对应Ext.
Intr[6],DMA线程1产生的中断对应Ext.
Intr[5].
5.
4.
4RTC中断设置RTC中断使能寄存器(IEN4[4],详见《中断使能寄存器》)后,RTC报警中断发生时,将在Rxt.
Intr[0]出现.
此时,MCU需进一步检查寄存器RTCC(详见6.
3RTC单元),以确定中断源.
5.
4.
5QMD中断通过设置QMD_INTR_EN,可开启QMD中断.
QMD中断发生后,将在Ext.
Intr[1]上发生.
详细信息请参考《应用手册》.
5.
4.
6CC中断当卷积编码或解码结束后,都可以在Ext.
Intr[3]上产生中断.
MCU可查验寄存器PHY_INTR_FLAGS和CC_CONFIG以确定中断源.
5.
4.
7掉电检测中断掉电检测功能用于判断片外高压电源的跌落状态.
外部电压通过引脚VCC_DET输入,与内部1.
2V参考电压相比较.
当外部电压低于1.
2V时,在Ext.
Intr[4]上产生中断信号.
MCU可以查验寄存器VCC_LOSS以确定中断源.
5.
4.
8中断列表中断列表如下:HT8550中断自然优先级中断向量中断向量号中断使能(EA=1)中断标志HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL34/88ExternalInterrupt0/RTC00003H0IEN0.
0/IEN4.
5GPIF.
0/RTCC.
1Serial1Interrupt10083H16IEN2.
0S1CON.
0S1CON.
1ExternalInterrupt7I2C_interrupt20043H8IEN1.
0GPIF.
7Timer0Interrupt3000BH1IEN0.
1TCON.
5ExternalInterrupt2SPI_interrupt4004BH9IEN1.
1GPIF.
2PHY_INTR[0]/ExternalInterrupt150013H2PHIF.
0IEN0.
2PHIF.
3/GPIF.
1PHY_INTR[2]/ExternalInterrupt360053H10PHIF.
2IEN1.
2PHIF.
5/GPIF.
3Timer1Interrupt7001BH3IEN0.
3TCON.
7ExternalInterrupt4VCC_LOSS8005BH11IEN1.
3GPIF.
4Serial0Interrupt90023H4IEN0.
4S0CON.
0S0CON.
1DMA_TH1_INTR/ExternalInterrupt5100063H12DMACSR.
4IEN1.
4DMACSR.
5/GPIF.
5Timer2Interrupt11002BH5IEN0.
5IEN1.
7IRCON.
6IRCON.
7DMA_TH0_INTR/ExternalInterrupt612006BH13DMACSR.
4IEN1.
5DMACSR.
5/GPIF.
6表37HT8550中断系统5.
4.
9中断优先级HT8550可设定4个中断优先级,只能根据固定的中断向量组进行向量组的优先级调整.
优先级的调整通过寄存器IP0,IP1来设置.
4个中断优先级如下表所示:IP1.
XIP0.
X优先级00Level0(lowest)01Level110Level211Level3(highest)表38中断优先级中断向量组与相应的中断优先级如下表所示:HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL35/88中断向量组组优先级控制位高优先级中优先级低优先级0IP1.
0IP0.
0int_vect_03int_vect_83int_vect_431IP1.
1IP0.
1int_vect_0Bint_vect_8Bint_vect_4B2IP1.
2IP0.
2int_vect_13int_vect_93int_vect_533IP1.
3IP0.
3int_vect_1Bint_vect_9Bint_vect_5B4IP1.
4IP0.
4int_vect_23int_vect_A3int_vect_635IP1.
5IP0.
5int_vect_2Bint_vect_ABint_vect_6B表39中断优先级组成员5.
4.
10中断处理中断系统遵循下列两条基本规则:1.
低优先级中断源可被高优先级中断源所中断,而高优先级中断源不能被同级或低优先级的中断源所中断;2.
一种中断源不管是高优先级或低优先级,一旦得到响应,与它同级的中断源不能再中断它.
当同时收到几个同一优先级中断时,响应哪一个中断源取决于内部查询顺序.
其优先级排列见上表中同级中断优先级列.
值得指出的是,EX0中断、EX6中断、EX5中断等都包含了若干个中断源.
以EX0中断为例,当EX0中断发生时,需要查询相应的标志位GPIF.
0,RTCC.
1来确定中断源.
5.
4.
11特殊功能寄存器中断寄存器列表如下:地址名称复位值功能简介0x9AIEN20x0IEN2中断使能0xA8IEN00x0IEN0中断使能0xB8IEN10x0IEN1中断使能0xC0IRCON0x0中断请求控制寄存器0xFAMAC_INTR_MASK0x0MAC中断屏蔽0xFBGPIO_INTR_FLAGS0x0GPIO外部中断标志0xFCPHY_INTR_FLAGS0x0PHY中断标志表40中断寄存器列表5.
4.
11.
1IEN2IEN2寄存器为8051内核寄存器.
位位名称复位值描述属性7:1-0x0保留位R0ES10串口1中断使能当ES1=0,串口1中断关闭;当ES1=1,并且EAL=1,串口1中断使能.
R/W表41IEN2寄存器描述(IEN20x9AH)HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL36/885.
4.
11.
2IEN0IEN0寄存器为8051内核寄存器.
位位名称复位值描述属性7EAL0全局中断使能当EAL=0,关闭所有中断;当EAL=1,全体中断使能,若要打开某一个中断,还需要打开它对应的中断使能位.
R/W6WDT0看门狗更新标志看门狗更新寄存器,需要连续先设置SWDT(IEN1.
6)为1,然后设置WDT为1,可以清零看门狗计数器.
当设置该位为1后,看门狗计数器在下一条指令后将被清零.
R/W5ET20定时器2中断使能当ET2=0,定时器2中断关闭;当ET2=1并且EAL=1,定时器2中断使能.
R/W4ES00串口0中断使能当ES0=0,串口0中断关闭;当ES0=1并且EAL=1,串口0中断使能.
R/W3ET10定时器1溢出中断使能当ET1=0,定时器1溢出中断关闭;当ET1=1并且EAL=1,定时器1溢出中断使能.
R/W2EX10外部中断1使能当EX1=0,外部中断1关闭;当EX1=1并且EAL=1,外部中断1使能,由于PHY[0]中断与EX1复用,当需要使用PHY[0]中断时,需要将EX1置1.
R/W1ET00定时器0溢出中断使能当ET0=0,定时器0溢出中断关闭;ET0=1并且EAL=1,定时器0溢出中断使能.
R/W0EX00外部中断0使能当EX0=0,外部中断0关闭;当EX0=1并且EAL=1,外部中断0使能,由于RTC中断与EX0复用,当使用RTC中断时,需要将EX0置1.
R/W表42IEN0寄存器描述(IEN00xA8H)5.
4.
11.
3IEN1IEN0寄存器为8051内核寄存器.
位位名称复位值描述属性HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL37/887EXEN20定时器2外部重载中断使能当EXEN2=0,定时器2外部重载中断关闭;当EXEN2=1并且EAL=1,定时器2外部重载中断使能.
R/W6SWDT0看门狗开始/刷新标志看门狗软件使能/更新寄存器,置1,则使能看门狗.
如果连续设置SWDT为1,然后设置WDT(IEN0.
6)为1,可以清零看门狗计数器,当看门狗计数器清零后,该位自动被清零.
R/W5EX60外部中断6使能当EX6=0,外部中断6和DMA线程0中断关闭当EX6=1并且EAL=1,外部中断6和DMA线程0中断使能,但是DMA线程0使能,还需要打开它对应的中断使能位.
R/W4EX50外部中断5和DMA线程1中断使能当EX5=0,外部中断5和DMA线程1中断关闭;当EX5=1并且EAL=1,外部中断5和DMA线程1中断使能,但是DMA线程1使能,还需要打开它对应的中断使能位.
R/W3EX40外部中断4使能当EX4=0,外部中断4关闭;当EX4=1并且EAL=1,外部中断4使能.
R/W2EX30外部中断3和PHY中断2使能当EX3=0,外部中断3和PHY中断2关闭;当EX3=1并且EAL=1,外部中断3和PHY中断2使能,但是PHY中断2使能,还需要打开它对应的中断使能位.
R/W1EX20外部中断2使能当EX2=0,外部中断2关闭;当EX2=1并且EAL=1,外部中断2使能.
R/W0EX70外部中断7使能当EI2C=0,外部中断7关闭;当EI2C=1并且EAL=1,外部中断7使能.
R/W表43IEN1寄存器描述(IEN10xB8H)5.
4.
11.
4IRCONIRCON为8051内核寄存器.
位位名称复位值描述属性7EXF20定时器2重载中断标志当EXF2=0,表示定时器2重载中断未发生;当EXF2=1,表示定时器2重载中断已发生.
R/WHT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL38/886TF20定时器2溢出中断标志当TF2=0,表示定时器2溢出中断未发生;当TF2=1,表示定时器2溢出中断已发生.
R/W5IEX60外部中断6和DMA线程0中断标志当IEX6=0,表示外部中断6和DMA线程0中断未发生;当IEX6=1,表示外部中断6或DMA线程0中断已发生.
R/W4IEX50外部中断5和DMA线程1中断标志当IEX5=0,表示外部中断5和DMA线程1中断未发生;当IEX5=1,表示外部中断5或DMA线程1中断已发生.
R/W3IEX40外部中断4中断标志当IEX4=0,表示外部中断4中断未发生;当IEX4=1,表示外部中断4中断已发生.
R/W2IEX30外部中断3标志当IEX3=0,表示外部中断3未发生;当IEX3=1,表示外部中断3已发生.
R/W1IEX20外部中断2和PHY中断1中断标志当IEX2=0,表示外部中断2和PHY中断1中断未发生;当IEX2=1,表示外部中断2或PHY中断1中断已发生.
R/W0IEX70外部中断7中断标志当IEX7=0,表示外部中断7中断未发生;当IEX7=1,表示外部中断7中断已发生.
R/W表44IRCON寄存器描述(IRCON0xC0H)5.
4.
11.
5MAC_INTR_MASK中断屏蔽寄存器MAC_INTR_MASK非8051内核寄存器.
位位名称复位值描述属性HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL39/887:0-0x0[7:0]=0,屏蔽外部中断EXT_INT0=!
(MASK[0]&(GPIO_INTR[0]|RTC_INTR))=>R8051ISRVector0x03EXT_INT1=!
(MASK[1]&(GPIO_INTR[1]|QMD_INTR))=>R8051ISRVector0x13EXT_INT2=!
(MASK[2]&GPIO_INTR[2])=>R8051ISRVector0x4BEXT_INT3=!
(MASK[3]&(GPIO_INTR[3]|CC_INTR))=>R8051ISRVector0x53EXT_INT4=(MASK[4]&(GPIO_INTR[4]|VCC_LOSS))=>R8051ISRVector0x5BEXT_INT5=(MASK[5]&(GPIO_INTR[5]|DMA_TH1_INTR))=>R8051ISRVector0x63EXT_INT6=(MASK[6]&(GPIO_INTR[6]|DMA_TH0_INTR))=>R8051ISRVector0x6BEXT_INT7=(MASK[7]&GPIO_INTR[7])=>R8051ISRVector0x43R/W表45MAC_INTR_MASK寄存器描述(MAC_INTR_MASK0xFAH)5.
4.
11.
6GPIO_INTR_FLAGS位位名称复位值描述属性7:0-0x0GPIO外部中断标志该寄存器直接反映了设置为外部中断功能的GPIO的状态.
MAC可依据该寄存器判断中断源.
该寄存器的值直接来自GPIO引脚,不受GPIO_INTR_POLARITY的影响.
R表46GPIO_INTR_FLAGS寄存器描述(GPIO_INTR_FLAGS0xFBH)5.
4.
11.
7PHY_INTR_FLAGS位位名称复位值描述属性7:6-00保留位-5:3-000PHY中断标志位相应位为高时,代表中断发生.
MCU写1,可清除相应标志位.
R/W2:0-000PHY屏蔽位写0时屏蔽中断R/W表47PHY_INTR_FLAGS寄存器描述(PHY_INTR_FLAGS0xFCH)HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL40/885.
5定时器5.
5.
1概述HT8550内部有三个16位可编程的定时器,定时器T0、定时器T1和定时器T2.
每一个定时器都由两个独立的8位寄存器组成:Timer0:TL0和TH0Timer1:TL1和TH1Timer2:TL2和TH2定时器0和定时器1都有4种工作模式,由TMOD和TCON控制.
定时器的时钟为系统时钟.
这四种工作模式是:模式0:13位定时器模式1:16位定时器模式2:自动装入时间常数的8位定时器模式3:两个8bit定时器(只对Timer0有效)5.
5.
2定时器0详细说明在定时器模式中,定时器0每12个时钟周期加1,在每12个周期的时钟信号之后,它的计数会加1.
5.
5.
2.
1模式0设置寄存器"tmod"的标志位tmod[1:0]=00可进入该模式.
在这种模式中,要使定时器工作,需要清除标志位tmod.
2,寄存器中记录的是定时的输入时钟数.
定时器作为13位的寄存器(取"tl0"的低5位,"th0"所有位).
"tl0"的高3位无效.
这就使定时器成为一个13位的counter,每12个时钟周期加1.
当定时器溢出时,"tcon.
5"置位,同时产生定时器溢出中断.
程序进入中断后,该位被自动清零.
定时器可被软件/硬件控制.
标志位"tcon.
4"可以控制定时器的停止(清0)和运行(置1).
5.
5.
2.
2模式1设置寄存器"tmod"的标志位tmod[1:0]=01可进入该模式.
模式1与模式0的唯一区别就是低字节寄存器不再被分为低5位和高3位两部分,整个低字节都用于计数器.
在模式1中,定时器是一个16位的计数器.
5.
5.
2.
3模式2设置寄存器"tmod"的标志位tmod[1:0]=10可进入该模式.
在这种模式中,要使定时器工作,需要清除标志位tmod.
2,寄存器中记录的是定时的输入时钟数.
在这种模式下,只有低字节("tl0")会每12个时钟周期加1.
HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL41/88在这种模式下,定时器是一个8位的重载定时器.
当定时器0溢出时,"tcon.
5"置位,同时产生定时器溢出中断.
程序进入中断后,该位被自动清零.
当溢出发生时,新的值将会从高字节("th0")载入到低字节("tl0")中.
定时器可被软件或者硬件控制.
标志位"tcon.
4"可以控制定时器的停止(清0)和运行(置1).
5.
5.
2.
4模式3设置寄存器"tmod"的标志位tmod[1:0]=11可进入该模式.
在这种模式中,要使定时器工作,需要清除标志位tmod.
2,寄存器中记录的是定时的输入时钟数.
在这种模式下,低字节("tl0")会每12个时钟周期加1.
高字节("th0")会每12个时钟周期加1.
当定时器低字节0溢出时,"tcon.
5"置位,同时产生定时器溢出中断.
程序进入中断后,该位被自动清零.
当定时器的高字节溢出时,"tcon[7]"置位,同时产生定时器溢出中断.
程序进入中断后,该位被自动清零.
在这种模式中,定时器0的低字节受"tcon.
4"控制.
高字节受"tcon.
6"控制,当"tcon[6]"置位时,高字节开始计数,当"tcon[4]"置位时,低字节开始计数.
5.
5.
3定时器1详细说明在定时器模式中,定时器1每12个时钟周期加1,就是说,在每12个周期的时钟信号之后,它的计数会加1.
5.
5.
3.
1模式0设置寄存器"tmod"的标志位tmod[5:4]=00可进入该模式.
在这种模式中,要使定时器工作,需要清除标志位tmod.
6,寄存器中记录的是定时的输入时钟数.
5.
5.
3.
2模式1定时器1被分为两个8位寄存器,低字节和高字节;低字节又被分为两部分:低5位和高3位.
这就使定时器1成为一个13位的counter,每12个时钟周期加1.
当定时器1溢出时,"tcon.
7"置位,同时产生定时器溢出中断.
程序进入中断后,该位被自动清零.
定时器可被软件或者硬件控制.
标志位"tcon.
6"可以控制定时器的停止(清0)和运行(置1).
设置寄存器"tmod"的标志位tmod[5:4]=01可进入该模式.
模式1与模式0的唯一区别就是低字节寄存器不再被分为低5位和高3位两部分,在模式1中,定时器1是一个16位的计数器.
5.
5.
3.
3模式2设置寄存器"tmod"的标志位tmod[5:4]=10可进入该模式.
在这种模式中,要使定时器工作,需要清除标志位tmod.
6,寄存器中记录的是定时的输入时钟数.
HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL42/88在这种模式下,只有低字节("tl1")会每12个时钟周期加1在这种模式下,定时器1是一个8位的重载定时器.
当低字节溢出时,"tcon[7]"置位,同时产生定时器溢出中断.
程序进入中断后,该位被自动清零.
当溢出发生时,新的值将会从高字节("th1")载入到低字节("tl1")中.
定时器1可被软件控制.
标志位"tcon.
6"可以控制定时器的停止(清0)和运行(置1).
定时器可被软件或者硬件控制.
标志位"tcon.
6"可以控制定时器的停止(清0)和运行(置1).
5.
5.
3.
4模式3设置寄存器"tmod"的标志位tmod[5:4]=11可进入该模式.
在这种模式下,定时器1被关闭(只有定时器0可在模式3下操作).
5.
5.
4定时器2详细说明Timer2是一个16bit的定时器/计数器.
5.
5.
4.
1定时器功能a)定时器模式设置寄存器T2CON的标志位t2i0=1和t2i1=0进入该模式.
定时器2有两个频率的时钟可以选择,当标志位t2ps=0时,每12个时钟周期count加1;当标志位t2ps=1时,每24个时钟周期count加1.
b)门控定时器模式设置寄存器T2CON的标志位t2i0=1和t2i1=1进入该模式.
与模式a)相同,该模式中,有两个频率的时钟可以选择,每12或者24个时钟周期count加1;同时受外部信号t2的控制.
当t2=0时,Timer2停止.
c)重新载入当Timer2溢出时,TH2/TL2自动从CRC寄存器中载入16位数据.
5.
5.
5特殊功能寄存器由于外部计数管脚拉低并没有引出来,所以不存在计数器功能,但保留了相应寄存器.
地址名称复位值功能简介0x88TCON0x00定时器控制寄存器0x89TMOD0x00定时器方式寄存器0x8ATL00x00定时器0低8位0x8BTL10x00定时器1低8位0x8CTH00x00定时器0高8位0x8DTH10x00定时器1高8位0xC8T2CON0x40定时器2控制寄存器0xCCTL20x00定时器2低8位0xCDTH20x00定时器2高8位表48定时器0和定时器1,定时器2寄存器列表5.
5.
5.
1TCON位位名称复位值描述属性HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL43/887TF10定时器1溢出中断标志当定时器1溢出时,由硬件置位.
当进入中断处理程序后,由硬件自动清除;也可以由软件清除.
R/W6TR10定时器1运行控制位清除该位,定时器1将停止运行.
R/W5TF00定时器0溢出中断标志当定时器0溢出时,由硬件置位.
当进入中断处理程序后,由硬件自动清除;也可以由软件清除.
R/W4TR00定时器0运行控制位清除该位,定时器0将停止运行.
R/W3IE10外部中断1标志当外部中断EX1产生时(电平触发或沿触发),由硬件置位.
当进入中断处理程序后,由硬件清除.
R/W2IT10外部中断1类型控制位TCON.
2=1:外部中断1由输入引脚的下降沿触发;TCON.
2=0:外部中断1由输入引脚的低电平触发;R/W1IE00外部中断0标志当外部中断EX0产生时(电平触发或沿触发),由硬件置位.
当进入中断处理程序后,由硬件清除.
R/W0IT00外部中断1类型控制位TCON.
0=1:外部中断0由输入引脚的下降沿触发;TCON.
0=0:外部中断0由输入引脚的低电平触发;R/W表49定时器0、定时器1控制寄存器(TCON0x88H)5.
5.
5.
2TMOD位位名称复位值功能描述属性7GATE0未使用R/W6T/C0定时器1方式选择位T/C=0:定时器方式.
R/W5M10定时器1模式控制位如下表所示.
R/W4M00R/W3GATE0未使用R/W2T/C0定时器0方式选择位T/C=0:定时器方式.
R/W1M10定时器0模式控制位R/WHT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL44/880M00如下表所示.
R/WM1M0方式说明00013位定时器,TL0(TL1)中的低5位和TH0(TH1)中的8位.
01116位定时器.
1028位定时器,具有自动再装入功能,装入在TL0(TL1)溢出时发生,装入的值由TH0(TH1)提供.
113定时器1停止操作,定时器0分成两个8位的独立计数器:TL0使用控制位tr0,溢出时将tf0置位;TH0使用控制位tr1,溢出时将tf1置位.
表50定时器0、定时器1模式寄存器(TMOD0x89H)5.
5.
5.
3TH1位位名称复位值功能描述属性7:0-0该寄存器反映了Timer1的状态,作为定时器1状态寄存器的高字节.
该地址被分配在SFR存储空间.
R/W表51定时器1状态寄存器(TH10x8DH)5.
5.
5.
4TL1位位名称复位值功能描述属性7:0-0该寄存器反映了Timer1的状态,作为定时器1状态寄存器的低字节.
该地址被分配在SFR存储空间.
R/W表52定时器1状态寄存器(TL10x8BH)这两个寄存器存储了定时器1的状态值,TH1存储高字节,TL1存储低字节.
5.
5.
5.
5TH0位位名称复位值功能描述属性7:0-0该寄存器反映了Timer0的状态,作为定时器0状态寄存器的高字节.
该地址被分配在SFR存储空间.
R/W表53定时器0状态寄存器(TH00x8CH)5.
5.
5.
6TL0位位名称复位值功能描述属性HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL45/887:0-0该寄存器反映了Timer0的状态,作为定时器0状态寄存器的低字节.
该地址被分配在SFR存储空间.
R/W表54定时器0状态寄存器(TL00x8AH)这两个寄存器存储了定时器0的状态值,TH0存储高字节,TL0存储低字节.
5.
5.
5.
7T2CON位位名称复位值功能描述属性7T2PS0时钟选择位t2ps=0–定时器2的时钟选择为系统时钟的1/12;t2ps=1–定时器2的时钟选择为系统时钟的1/24;R/W6I3FR1外部中断"int3"触发方式选择0–下降沿;1–上升沿;R/W5I2FR0外部中断"int2"触发方式选择0–下降沿;1–上升沿;R/W4:3-0保留.
R2T2CM0保留.
R/W1T2I10定时器2输入选择(t2i1,t2i0)00—定时器2中止工作;01—输入时钟为fsys/12或者fsys/24;10—定时器2的计数由引脚"t2"的下降沿驱动;11—输入时钟由引脚"t2"确定,为fsys/12或者fsys/24;R/W0T2I00R/W表55定时器2控制寄存器(T2CON0xC8H)5.
5.
5.
8TH2位位名称复位值功能描述属性7:0-0该寄存器反映了Timer2的状态,作为定时器2状态寄存器的高字节.
该地址被分配在SFR存储空间.
R/W表56定时器2状态寄存器(TH20xCDH)5.
5.
5.
9TL2位位名称复位值功能描述属性HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL46/887:0-0该寄存器反映了Timer2的状态,作为定时器2状态寄存器的低字节.
该地址被分配在SFR存储空间.
R/W表57定时器2状态寄存器(TL20xCCH)这两个寄存器存储了定时器2的状态值,TH2存储高字节,TL2存储低字节.
5.
6GPIOHT8550包含22个双向GPIO,并可以将GPIO作为外部中断输入.
其中部分GPIO可以被复用为I2PinNo.
C、SPI接口或其他测试接口.
PinNameFunctionGPIOLinkedtoMCUI/OportExternalInterrupt37GP_0GeneralPurposeInput(default)GeneralPurposeOutputExternalInterruptGPIOport0Port0.
0Ext.
Intr[0]46GP_1GeneralPurposeInput(default)GeneralPurposeOutputExternalInterruptGPIOport1Port0.
1Ext.
Intr[1]2GP_2Func.
0:ReservedFunc.
1:PDMoutputGeneralPurposeInput(default)GeneralPurposeOutputExternalInterruptGPIOport2Port0.
2Ext.
Intr[2]4GP_3GeneralPurposeInput(default)GeneralPurposeOutputExternalInterruptGPIOport3Port0.
3Ext.
Intr[3]22GP_4GeneralPurposeInput(default)GeneralPurposeOutputExternalInterruptGPIOport4Port0.
4Ext.
Intr[4]31CLKOUTFunc.
0:MACclockdetectport(default)Func.
1:ReservedGeneralPurposeInputGeneralPurposeOutputExternalInterruptGPIOport5Port0.
5Ext.
Intr[5]32WDTENFunc.
0:Watchdogenable(default)Func.
1:ReservedGeneralPurposeInputGeneralPurposeOutputExternalInterruptGPIOport6Port0.
6Ext.
Intr[6]3TX_BUSYFunc.
0:TXbusyflag(default)Func.
1:ReservedGeneralPurposeInputGeneralPurposeOutputExternalInterruptGPIOport7Port0.
7Ext.
Intr[7]HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL47/8847UART0_RXFunc.
0:reserved(default)Func.
1:R8051UART0RXGeneralPurposeInputGeneralPurposeOutputExternalInterruptGPIOport8Port1.
0Ext.
Intr[0]48UART0_TXFunc.
0:reserved(default)Func.
1:R8051UART0TXGeneralPurposeInputGeneralPurposeOutputExternalInterruptGPIOport9Port1.
1Ext.
Intr[1]27FLSH_SOFunc.
0:Flashserialdataoutput(default)Func.
1:ReservedGeneralPurposeInputGeneralPurposeOutputExternalInterruptGPIOport10Port1.
2Ext.
Intr[2]28FLSH_SCLKFunc.
0:Flashclock(default)Func.
1:ReservedGeneralPurposeInputGeneralPurposeOutputExternalInterruptGPIOport11Port1.
3Ext.
Intr[3]29FLSH_CS_NFunc.
0:FlashCS_N(default)Func.
1:ReservedGeneralPurposeInputGeneralPurposeOutputExternalInterruptGPIOport12Port1.
4Ext.
Intr[4]30FLSH_SIFunc.
0:Flashserialdatainput(default)Func.
1:ReservedGeneralPurposeInputGeneralPurposeOutputExternalInterruptGPIOport13Port1.
5Ext.
Intr[5]24UART1_RXFunc.
0:R8051UART1RX(default)Func.
1:reservedGeneralPurposeInputGeneralPurposeOutputExternalInterruptGPIOport14Port1.
6Ext.
Intr[6]23UART1_TXFunc.
0:R8051UART1TX(default)Func.
1:reservedGeneralPurposeInputGeneralPurposeOutputExternalInterruptGPIOport15Port1.
7Ext.
Intr[7]44I2C_SDAFunc.
0:R8051I2CSDA(default)Func.
1:ReservedGeneralPurposeInputGeneralPurposeOutputExternalInterruptGPIOport16Port2.
0Ext.
Intr[0]45I2C_SCLFunc.
0:R8051I2CSCL(default)Func.
1:ReservedGPIOport17Port2.
1Ext.
Intr[1]HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL48/88GeneralPurposeInputGeneralPurposeOutputExternalInterrupt41SPI_SCLKFunc.
0:Reserved(default)Func.
1:R8051SCLKGeneralPurposeInputGeneralPurposeOutputExternalInterruptGPIOport18Port2.
2Ext.
Intr[2]40SPI_SOUTFunc.
0:Reserved(default)Func.
1:R8051SOUTGeneralPurposeInputGeneralPurposeOutputExternalInterruptGPIOport19Port2.
3Ext.
Intr[3]43SPI_SINFunc.
0:Reserved(default)Func.
1:R8051SINGeneralPurposeInputGeneralPurposeOutputExternalInterruptGPIOport20Port2.
4Ext.
Intr[4]42SPI_CS_NFunc.
0:Reserved(default)Func.
1:R8051CS_NGeneralPurposeInputGeneralPurposeOutputExternalInterruptGPIOport21Port2.
5Ext.
Intr[5]表58GPIO定义为配置22个GPIO的功能,HT8550内定义了2个SFR:GPIO_MODE_SEL和GPIO_CTRL.
HT8550的22个GPIO每2个一组,被分为11组,各组被编址为0x0~0xA.
分组及编址情况由寄存器GPIO_MODE_SEL定义.
需要配置某个GPIO时,先通过配置GPIO_MODE_SEL选中该GPIO所在的组,再通过GPIO_CTRL配置该GPIO的功能.
实际上,对应每一组GPIO,GPIO_CTRL都有一个备份,即对应GPIO_MODE_SEL所标示的11个地址,GPIO_CTRL共有11个备份.
当某一个GPIO分组地址被设置后,对GPIO_CTRL的修改,将改变该组所对应的GPIO的功能.
GPIO_CTRL[7:4]用于控制已选中的组中编号为奇数的GPIO,GPIO_CTRL[3:0]用于控制已选中的组中编号为偶数的GPIO.
例如,设置GPIO_MODE_SEL=0xA,将选中GPIOport21(pin42)和GPIOport20(pin43).
然后,设置GPIO_CTRL=0x52,则pin43被设置为generalpurposeoutputpin,pin42被设置为R8051SPICS_N.
5.
6.
1特殊功能寄存器GPIO寄存器列表地址名称复位值功能简介0xF9GPIO_INTR_POLARITY0x0GPIO中断极性选择0xFEGPIO_MODE_SEL0x0GPIOport选择0xFFGPIO_CTRL0x0GPIO模式选择表59GPIO寄存器列表HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL49/885.
6.
1.
1GPIO_INTR_POLARITY位位名称复位值描述属性7:0-0x00GPIO中断极性选择Bit[n]=1:外部中断n低有效;Bit[n]=0:外部中断n高有效;R/W表60GPIO中断极性选择寄存器(GPIO_INTR_POLARITY0xF9H)5.
6.
1.
2GPIO_MODE_SEL位位名称复位值描述属性7:0-00GPIOport选择在进行GPIO功能配置前,须先选中期望配置的GPIO,使其进入功能可配置的状态.
0x0:GPIOport1和GPIOport00x1:GPIOport3和GPIOport20x2:GPIOport5和GPIOport40x3:GPIOport7和GPIOport60x4:GPIOport9和GPIOport80x5:GPIOport11和GPIOport100x6:GPIOport13和GPIOport120x7:GPIOport15和GPIOport140x8:GPIOport17和GPIOport160x9:GPIOport19和GPIOport180xA:GPIOport21和GPIOport20Others:无效,不选中任何GPIOR/W表61GPIOport选择寄存器(GPIO_MODE_SEL0xFEH)5.
6.
1.
3GPIO_CTRL位位名称复位值描述属性7:0-[0x0]:0x00*[0x1]:0x00[0x2]:0x40[0x3]:0x44[0x4]:0x44[0x5]:0x44[0x6]:0x04[0x7]:0x00[0x8]:0x00[0x9]:0x44[0xA]:0x44GPIO模式选择[7:4]控制已选中组中编号为奇数的GPIO[3:0]控制已选中组中编号为偶数的GPIOControlDecode:0000:GeneralpurposeInput0010:GeneralpurposeOutput0100:Function0(Func.
0)0101:Function1(Func.
1)1000:ExternalInterruptR/W表62GPIO模式选择寄存器(GPIO_CTRL0xFFH)6其他外设HT8550的其他功能有:HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL50/88FLASH控制器SPI接口UART接口I2C接口JTAG接口RTC看门狗6.
1FLASH控制器6.
1.
1Flash控制器简介HT8550包含一个专用SPI接口,用来与片外SPIFLASH相连,串行传输时钟最高为48MHz.
如果接口速率超过24MHz,需要设置FLASH_CTRL寄存器的SLOWMISO和FASTREADCOMMAND两个功能位.
如需使用外部Flash,需要通过配置寄存器GPIO_CTRL实现.
配置过程如下:(1)设置GPIO_MODE_SEL=0x5(2)设置GPIO_CTRL[7:0]=0x44(3)设置GPIO_MODE_SEL=0x6(4)设置GPIO_CTRL[7:0]=0x446.
1.
2FLASH作为程序扩展通过程序跳转到外部Flash映射的地址,HT8550可以从外部Flash执行.
从Flash中读取数据会失速,所以不需要将HT8550的频率运行的比外部Flash时钟慢.
但对节能模式来说,这是推荐的.
接口是串行的,最好的方式是每八个Flash时钟读一个byte.
如果Flash的时钟快过HT8550的八倍,HT8550在线性代码执行的时候性能不会降低.
由于代码分支将会冲掉预缓存,因此需要一个新的读命令发给Flash.
这个过程HT8550自己会处理,但将影响HT8550的性能.
由于HT8550从外部Flash中读取内容时会将数据与寄存器FLASH_MEMORY_XOR的值异或,因此写入Flash之前需要先将程序内容与FLASH_MEMORY_XOR的值异或处理.
6.
1.
3特殊功能寄存器Flash控制相关寄存器如下:地址名称复位值功能简介0x8FFLASH_CTRL0x00Flash控制寄存器0x91FLASH_DATA0x00Flash数据寄存器0x96FLASH_STATUS0x00Flash状态寄存器0xABFLASH_COPY0x00Flash复制寄存器0xBEFLASH_COPY_PAGES0x80Flash页复制寄存器0xD5FlashMemoryXOR0x7BFlash异或寄存器HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL51/88地址名称复位值功能简介0xD7ProgramMemoryLock0x00存储编程锁定寄存器表63FLASH控制器寄存器列表6.
1.
3.
1FLASH_CTRL位位名称复位值描述属性7-0存取模式:0=只读程序存储器模式:外部Flash作为只读程序存储器这是启动后的默认值,HT8550在这个模式下可以从外部Flash执行程序或者使用DMA从Flash移动数据.
该模式下不支持写操作.
1=SPI主模式.
Flash作为标准的SPI从设备,使用FLASH_DATA寄存器给Flash发送或者接收数据.
这个模式用来设置,删除或者写Flash.
在这个模式下,DMA和目标读取无效.
R/W6-0片选:仅用在SPI主模式.
用户在使能之前必须先检查主模式标志位0=不选(CS输出高);1=选中(CS输出低);R/W5-0快速读取模式在DMA或目标模式中,这条指令接口发送FAST_READ给外部FLASH.
当串行时钟运行在高频率时,这个是必需设置.
R/W4-0时钟极性(CPOL).
R/W3-0时钟相位(CPHA).
R/W2-0快读设置使能(SlowMISO):当使能时,串行输入数据在发射沿采样一个完整周期.
当Flash时钟运行在高频率时,该位需要设置.
R/W1-0保留;R0-0内部Flash写使能:为了阻止内部Flash被意外写,如果需要写或删除内部Flash内容,需要将该位置1.
R/W表64Flash控制寄存器(FLASH_CTRL0x8FH)6.
1.
3.
2FLASH_DATA位位名称复位值描述属性7:0-0需要传输的数据写入这个寄存器,并且写入的数据被复制到移位寄存器中,同时输入的数据也从这里获得.
R/W表65Flash数据寄存器(FLASH_DATA0x91H)HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL52/886.
1.
3.
3FLASH_STATUS位位名称复位值描述属性7:2-0保留R1-0主模式标志在设置存取模式后被硬件置位.
在片选和写数据到FLASH_DATA寄存器之前,该位必须检测到为"1".
同时,这个寄存器在接收到第一个非主模式请求之前不会被清除.
R0-0主模式传输完成标志在SPI主模式下字节传输完成后由硬件置位.
通过读FLASHDATA寄存器清除该位.
注意:为了清除内部数据FIFO,每次传输后必需读取FLASHDATA寄存器.
R表66Flash状态寄存器(FLASH_STATUS0x96H)6.
1.
3.
4FLASH_COPY位位名称复位值描述属性7:0-0x0Flash复制.
该寄存器写"x86"将会复制整个外部Flash内容到内部Flash,这可以用来升级当前内部Flash的代码.
复制完成后,芯片重启.
为了起作用,在写该寄存器之前,内部Flash写使能必需打开.
当程序存储锁定时,只有芯片本身可以写这个寄存器.
该寄存器读的值一直是0.
R/W表67Flash复制寄存器(FLASH_COPY0xABH)6.
1.
3.
5FLASH_COPY_PAGES位位名称复位值描述属性7:0-0x80从外部Flash复制大小为1KB的页内容到内部Flash.
这个寄存器可以设置成小于x80以加速复制速度.
不管该寄存器值是多少,整个内部flash都会被删除.
R/W表68Flash页复制寄存器(FLASH_COPY_PAGES0xBEH)6.
1.
3.
6FlashMemoryXOR位位名称复位值描述属性HT8550用户手册(V1.
4)Copyright@2012HitrendtechCONFIDENTIAL53/887:0-0x7B所有从外部Flash传入的数据都会跟这个寄存器的值异或.
这些包括启动时数据传输,取指令,DMA传输,以及主模式下任何的读取.
这个寄存器的值在启动以后能够被改变,但内容不能被读取.
W表69Flash异或寄存器(FlashMemoryXOR0xD5H)6.
1.
3.
7ProgramMemoryLock位位名称复位值描述属性7:0-0x01=锁定;0=不锁定;R/W表70Flash存储编程锁定寄存器(ProgramMemoryLock0xD7H)6.
2SPI接口6.
2.
1概述SPI接口可以实现在MCU和外围设备(包含MCU)之间的全双工同步串行通讯.
这里提到的MCU或者外围设备必须包含SPI模块.
SPI模块可以被编程实现以主模式或从模式工作.
包含下列特征:全双工模式三线同步传输主机和从机模式7种主机波特率从机时钟最高至fs/4极性和相位可编程的串行时钟写冲突处理机制8位数据传输,高字节在前,低字节在后8位从机选择接口,控制外部从机与主机MCU的专用功能寄存器接口无二义端口,标准的SPIGPIO配置为SPI功能:(1)设置GPIO_MODE_SEL=0x9(2)设置GPIO_CTRL=0x55(3)设置GPIO_MODE_SEL=0xA(4)设置GPIO_CTRL=0x55在8051-SPI模式下,片内MCU可以通过配置SFR值来改变8051-SPI接口的主/从模式,以及时钟极性与相位.
下图显示了数据传输的帧格式.
根据SPI的设置,数据的每一位在主时钟("scko")的上升沿("cpol"='0')或下降沿("cpol"='1')被发送.
数据在主时钟("scko")的下降沿("cpol"HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL54/88='0')或上升沿("cpol"='1')被接收.
这适用于主模式或从模式的发送器/接收器,前提是"scko"是传输过程中的主时钟.
如果"cpha"被置位,第一位(MSB)将在"scko"的第一个动态沿时通过"mosio"/"misoo"被发送.
如果"cpha"被清零,第一位(MSB)将在"scko"的第一个动态沿之前半个周期被发送.
除此之外,输入数据(主模式是"misoi",从模式是"mosii")在每一位传输一半时被采样,在这个时钟周期的相反的电平上,数据被移位到输出信号"mosio"上.
MSBbit6bit4bit2bit1LSBSPI_MISOcpha=1bit3MSBbit6bit4bit2bit1LSBSPI_MISOcpha=0bit3bit5bit5SPI_CS_NSPI_CLKcpol=1SPI_CLKcpol=0图5SPI数据输出帧格式6.
2.
2主机模式SPI默认为主机模式.
在主机模式中,SPI等待程序向寄存器SPDAT中写入数据.
如果向SPDAT的写入动作完成,传输就开始.
在时钟SPI_CLK的发送沿,数据被移位到输出引脚SPI_MOSI上.
6.
2.
3从机模式首先,需要写寄存器SPCON中的mstr=0,以配置8051-SPI进入从机模式.
另外配置spen=1以打开8051-SPI模块使能.
在从机模式中,SPI等待输入信号SPI_CS_N的低电平.
当捕捉到SPI_CS_N的下降沿,传输开始,直到传输完成,SPI_CS_N都需要保持低电平状态.
寄存器SPCON中cpha的状态决定传输的开始位置:当cpha被清零,从机必须在SPI_CLK信号的第一个下降沿之前开始传输;当cpha被置位,从机会把SPI_CLK信号的第一个下降沿做为传输的开始标志.
6.
2.
4特殊功能寄存器SPI控制相关寄存器如下:地址名称复位值功能简介0xE1SPSTA00HSPI状态寄存器0xE2SPCON14HSPI控制寄存器0xE3SPDAT00HSPI数据寄存器0xE4SPSSNFFHSPI从机选择寄存器表71SPI相关寄存器列表HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL55/886.
2.
4.
1SPSTA位位名称复位值功能描述属性7spif0数据传输标志当传输完成时由硬件置位;传输过程中由硬件复位,也可通过读寄存器"spsta""spdat"来复位;R/W6wcol0写冲突标志当写"spdat"冲突时由硬件置位;当传输完成无冲突发生时由硬件复位,也可通过访问寄存器"spsta""spdat"复位;R/W5sserr0同步从机错误标志在接收完成前当"ssn"输入有效时,被硬件置位;关闭SPI模块可清除该位(设置spen=0);R/W4modf0模式故障标志当"ssn"引脚状态与设置的模式有冲突时,硬件自动置位;当"ssn"引脚恢复合适的电平状态时,硬件自动复位;也可以由软件读"spsta"寄存器来复位;R/W3:0-0保留.
R表72SPI控制寄存器(SPSTA0xE1H)6.
2.
4.
2SPCON位位名称复位值功能描述属性7spr20SPI时钟速率控制位主模式时,SPI时钟速率由"spr2""spr1""spr0"控制.
R/W6spen0SPI使能位spen=0,关闭spi模块;spen=1,打开spi模块;R/W5ssdis0SS控制位ssdis=0:在主/从模式中打开"ssn"输入;ssdis=1:在主/从模式中关闭"ssn"输入,该情况下不会产生"modf"中断请求;在从机模式中,若"cpha"=0,则该位无效;R/W4mstr0SPI模式选择位mstr=0:从机模式mstr=1:主机模式R/W3cpol0时钟极性cpol=0:"sck"在空闲状态时被设置为低电平;cpol=1:"sck"在空闲状态时被设置为高电平;R/W2cpha0时钟相位R/W1spr10SPI时钟速率控制位R/WHT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL56/880spr00主模式时,SPI时钟速率由"spr2""spr1""spr0"控制spr2spr1spr0SPI时钟速率000Fsys/2001Fsys/4010Fsys/8011Fsys/16100Fsys/32101Fsys/64110Fsys/128111不产生主时钟表73SPI状态寄存器(SPCON0xE2H)6.
2.
4.
3SPDAT位位名称复位值功能描述属性7:0-0寄存器SPDAT是"接收数据"寄存器的一个读/写缓冲.
当向SPDAT中写入数据,是直接写入移位寄存器中(没有传输缓冲);从SPDAT中读数据,返回的是接收缓冲中的数据,而非移位寄存器.
R/W表74SPI数据寄存器(SPDAT0xE3H)6.
2.
4.
4SPSSN位位名称复位值功能描述属性7:0-0xFFSPSSN是一个可读/写寄存器,它的每一位都可用来选择一个独立的外部SPI从机设备.
R/W表75SPI从机选择寄存器(SPSSN0xE4H)6.
3I2C接口6.
3.
1概述I2C模块提供一个符合标准I2C总线规范的串行接口,可用于HT8550片内MCU与片外器件通信.
该I2C接口可配置为主或从模式.
I2C数据以8-bit进行双向传输,标准模式下可达100kbps的传输速率,快速模式可达400kbps的速率.
I2C引脚I2C_SCL(pin1)和I2C_SDA(pin3)默认功能为GPIO,如需使用I2C总线,需要通过配置寄存器GPIO_CTRL实现.
配置过程如下:(1)设置GPIO_MODE_SEL=0x8(2)设置GPIO_CTRL[7:0]=0x44PARAMETERSYMBOLCONDITIONSMINTYPMAXUNITSClockHightoInputTransitionTCHDX4.
7μsClockPulseWidthHighTCHCL4μsInputLowtoClockLow(START)TDLCL4μsHT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL57/88ClockLowtoInputTransitionTCLDX0μsClockPulseWidthLowTCLCH4.
7μsInputTransitiontoClockTransitionTDXCX250nsClockHightoInputHigh(STOP)TCHDH4.
7μsInputHightoInputLow(BusFree)TDHDL4.
7μsClockLowtoNextDataOutValidTCLQV0.
33.
5μsDataOutHoldTimeTCLQX300nsClockFrequencyFC400kHz表76I2C时序特征TCLQVTCLQXValiddataDataoutputI2C_SCLI2C_SDA图6I2C输出时序I2C_SCLstartDatainputDatachangetimestopI2C_SDATCHDXTDLCLTCHCLTCLDXTDXCXTCLCHTCHDHTDHDL图7I2C输入时序12789startstopACKI2C_SCLI2C_SDA三图8I2C协议6.
3.
2特殊功能寄存器片内MCU可以通过以下4个SFR:I2CCON、I2CSTA、I2CDAT、I2CADR对I2C接口进行HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL58/88配置.
地址名称复位值功能简介0xDAI2CDAT0x00数据寄存器0xDBI2CADR0x00自身从机地址寄存器0xDCI2CCON0x00控制寄存器0xDDI2CSTA0xF8状态寄存器表77I2C寄存器列表6.
3.
2.
1I2CDAT位位名称复位值描述属性7:0-0寄存器I2CDAT包含一个字节的数据,是将要被传送到总线上的数据,或者是刚从总线上接收到的数据.
寄存器I2CDAT没有设置影子寄存器,也没有双缓存,所以当I2C中断发生时,MCU需要及时从它读取数据,以免数据丢失.
R/W表78I2C数据寄存器(I2CDAT0xDAH)6.
3.
2.
2I2CADR位位名称复位值描述属性7:1-0I2C从机地址(7位)R/W0-0广播地址如果该位置1,则从设备响应广播地址,否则,不响应广播地址.
R/W表79I2C地址寄存器(I2CADR0xDBH)6.
3.
2.
3I2CCON位位名称复位值描述属性7CR20Clockratebit2R/W6ENS10I2C使能位ens1=0:关闭IIC模块;ens1=1:打开IIC模块;R/W5STA0开始标志sta=1:检查IIC总线的状态,如果空闲则生成开始信号;R/W4STO0停止标志sto=1:当处于主机模式,则向总线传输停止信号R/W3SI0中断标志当进入25种IIC状态之一时,"si"由硬件置位,唯一不置位的状态是"F8h";该位必须被软件写"1"复位.
R/WHT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL59/882AA0生成应答标志aa=1:应答在以下情况下被返回:接收到自身作为从机的地址;gc被置位的情况下接收到地址呼叫;主机接收模式下一个字节接收完成;从机接收模式下一个字节接收完成;aa=0:非应答在以下情况下被返回:主机接收模式下一个字节接收完成;从机接收模式下一个字节接收完成;R/W1CR10Clockratebit1R/W0CR00Clockratebit0R/WCR2CR1CR0BitfrequencyClockdividedby6MHz12MHz16MHz24MHz0002347639225600127547110822401031638312419201137751001481601006.
2512.
517259601015010013320012011010020026640060111bclkinputdividedby8表80I2C控制寄存器(I2CCON0xDCH)寄存器I2CCON包含I2C模块的使能位"ens1",时钟频率控制位("cr0","cr1","cr2"),"开始"和"停止"信号的发送位,控制ACK信号的标志位"aa",和中断标志位"si".
6.
3.
2.
4I2CSTA位位名称复位值描述属性7-1I2C状态代号R/W6-1R/W5-1R/W4-1R/W3-1R/W2-0保留,读的值为0R1-0R0-0R表81I2C状态寄存器(I2CSTA0xDDH)寄存器I2CSTA反映I2C模块的实时状态.
这个寄存器的低三位始终为0.
总共有26种可能的状态.
当进入25种状态的其中一种时,都会产生中断;唯一一种不产生中断的情况是状态F8h.
在下表中,"SLA"指从机地址,"R"指与从机地址一起传送的读/写位是读,"W"指与从机地址一起传送的读/写位是写.
StatusStatusofApplicationSoftwareResponsetoNextActiontakenHT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL60/88CodeI2Cto/fromI2CDATI2CCONbyI2CHardwarestastosiaa08H已发送START信号LoadSLA+WX00X发送SLA+W信号接收ACK信号10H已发送RepeatedSTART信号LoadSLA+WOrLoadSLA+RXX0000XX同上发送SLA+R信号I2C将被切换到"masterreceiver"模式18H已发送SLA+W信号;已接收ACK信号Loaddatabyteornoactionornoactionornoaction010100110000XXXX发送Databyte;接收ACK信号发送RepeatedSTART信号;发送STOP信号;复位"sto"标志发送STOP信号后接一个START信号;复位"sto"标志20H已发送SLA+W信号;已接收"notACK"信号Loaddatabyteornoactionornoactionornoaction010100110000XXXX发送Databyte;接收ACK信号发送RepeatedSTART信号发送STOP信号;复位"sto"标志发送STOP信号后接一个START信号;复位"sto"标志28HI2CDAT中的Databyte已发送;已接收ACK信号Loaddatabyteornoactionornoaction010001000XXX发送Databyte;接收ACK信号发送RepeatedSTART信号发送STOP信号;HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL61/88ornoaction110X复位"sto"标志发送STOP信号后接一个START信号;复位"sto"标志30HI2CDAT中的Databyte已发送;Loaddatabyteornoactionornoactionornoaction010100110000XXXX发送Databyte;接收ACK信号发送RepeatedSTART信号;发送STOP信号;复位"sto"标志发送STOP信号后接一个START信号;复位"sto"标志38HSLA+R/W信号或databytes仲裁失败Loaddatabyteornoaction010000XX释放I2C总线;进入"notaddressedslave"状态当总线变为空闲(free)状态时,发送一个START信号表82I2CStatusinMasterTransmitterModeStatusCodeStatusofI2CApplicationto/fromI2CDATSoftwareResponsetoI2CCONNextActiontakenbyI2CHardwarestastosiaa08H已发送START信号LoadSLA+RX00X发送SLA+R信号发送ACK信号10H已发送RepeatedSTART信号LoadSLA+ROrLoadSLA+WXX0000XX同上发送SLA+W信号I2C将被切换至"mastertransmiter"模式38H"notACK"位仲裁失败Noactionor000X释放I2C总线;I2C将进入"slave"模式HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL62/88noaction100X当总线变为空闲(free)状态时,发送一个START信号40H已发送SLA+R信号;已接收ACK信号Noactionornoaction00000001接收Databyte;返回"notACK"信号接收Databyte;返回"ACK"信号48H已发送SLA+R信号;已接收"notACK"信号Noactionornoactionornoaction101011000XXX发送RepeatedSTART信号发送STOP信号;the复位"sto"标志发送STOP信号后接一个START信号;复位"sto"标志50H已接收Databyte;已返回ACK信号Readdatabyteorreaddatabyte00000001接收Databyte;返回"notACK"信号接收Databyte;返回ACK信号58H已接收Databyt;已返回"notACK"信号Readdatabyteorreaddatabyteorreaddatabyte101011000XXX发送RepeatedSTART信号发送STOP信号;复位"sto"标志发送STOP信号后接一个START信号;复位"sto"标志表83I2CStatusinMasterReceiverModeStatusCodeStatusofI2CApplicationto/fromI2CDATSoftwareResponsetoI2CCONNextActiontakenbyI2CHardwarestastosiaa60H已接收自身SLA+WNoactionX000接收Databyte,返回"notACK"信号HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL63/88信号;已返回ACK信号ornoactionX001接收Databyte返回ACK信号68H在SLA+R/W中输掉仲裁;已接收自身SLA+W;已返回ACK信号NoactionOrnoactionXX000001接收Databyte,返回"notACK"信号接收Databyte,返回ACK信号70H已发送Generalcalladdress(00H);已返回ACK信号NoactionOrnoactionXX000001接收Databyte,返回"notACK"信号接收Databyte,返回ACK信号78H在SLA+R/W中输掉仲裁;已接收generalcalladdress,已返回ACK信号NoactionOrnoactionXX000001接收Databyte,返回"notACK"信号接收Databyte,返回ACK信号80H先前已寻址到自身SLA地址;已接收DATA;已返回ACK信号NoactionOrnoactionXX000001接收Databyte,返回"notACK"信号接收Databyte,返回ACK信号88H先前已寻址到自身SLA地址;已接收DATA;已返回"notACK"信号ReaddatabyteOrreaddatabyteor00000001切换至"notaddressedslave"模式;不识别自身从机地址(SLA)和generalcalladdress切换至"notaddressedslave"模式;HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL64/88readdatabyteorreaddatabyte11000001可识别自身SLA或generalcalladdress切换至"notaddressedslave"模式;不识别自身SLA和generalcalladdress;当总线恢复空闲状态时,发送START信号切换至"notaddressedslave"模式;可识别自身SLA或generalcalladdress;当总线恢复空闲状态时,发送START信号90H先前已寻址到eneralcalladdress;已接收DATA;已返回ACK信号ReaddatabyteOrreaddatabyteXX000001接收Databyte,返回"notACK"信号接收Databyte;返回ACK信号98H先前已寻址到eneralcalladdress;已接收DATA;已返回ACK信号ReaddatabyteOrreaddatabyteorreaddatabyteorreaddatabyte0011000000000101切换至"notaddressedslave"模式;不识别自身SLA和generalcalladdress;切换至"notaddressedslave"模式;可识别自身SLA或generalcalladdress;切换至"notaddressedslave"模式;不识别自身SLA和generalcalladdress;HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL65/88当总线恢复空闲状态时,发送START信号切换至"notaddressedslave"模式;可识别自身SLA或generalcalladdress;当总线恢复空闲状态时,发送START信号A0H当仍旧寻址SLV/REC或SLV/TRX时,接收到STOP信号或repeatedSTART信号NoactionOrnoactionornoactionornoaction0011000000000101切换至"notaddressedslave"模式;不识别自身SLA和generalcalladdress;切换至"notaddressedslave"模式;可识别自身SLA或generalcalladdress;切换至"notaddressedslave"模式;不识别自身SLA和generalcalladdress;当总线恢复空闲状态时,发送START信号切换至"notaddressedslave"模式;可识别自身SLA或generalcalladdress;当总线恢复空闲状态时,发送START信号表84I2CStatusinslaveReceiverModeStatusStatusofApplicationSoftwareResponsetoNextActiontakenHT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL66/88CodeI2Cto/fromI2CDATI2CCONbyI2CHardwarestastosiaaA8H已接收SLA+R信号;已返回ACK信号LoaddatabyteOrloaddatabyteXX000001发送lastdatabyte;接收ACK信号发送databyte;接收ACK信号B0HSLA+R/W作为主仲裁失败;已经SLA+R信号;已返回ACK信号LoaddatabyteOrloaddatabyteXX000001发送lastdatabyte;接收ACK信号发送databyte;接收ACK信号B8H已发送databyte;已接收ACK信号LoaddatabyteOrloaddatabyteXX000001发送lastdatabyte;接收ACK信号发送databyte;接收ACK信号C0H已发送databyte;已接收noACK信号noactionornoactionornoactionornoaction0011000000000101切换到"notaddressedslave"模式;不识别自身的slaveaddress或者generalcalladdress;切换到"notaddressedslave"模式;识别自身的slaveaddress或者generalcalladdress;切换到"notaddressedslave"模式;不识别自身的slaveaddress或者generalcalladdress;当总线空闲的时候,发送START信号切换到"notaddressedslave"模HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL67/88式;识别自身的slaveaddress或者generalcalladdress;当总线空闲的时候,发送START信号C8H已发送lastdatabyte;已接收ACK信号noactionornoactionornoactionornoaction0011000000000101切换到"notaddressedslave"模式;不识别自身的slaveaddress或者generalcalladdress;切换到"notaddressedslave"模式;识别自身的slaveaddress或者generalcalladdress;切换到"notaddressedslave"模式;不识别自身的slaveaddress或者generalcalladdress;当总线空闲的时候,发送START信号切换到"notaddressedslave"模式;识别自身的slaveaddress或者generalcalladdress;当总线空闲的时候,发送START信号表85I2CStatusinslaveTransmitterModeStatusCodeStatusofI2CApplicationto/fromI2CDATSoftwareResponsetoI2CCONNextActiontakenbyI2CHardwarestastosiaaF8H没有相关的有效状NoactionNoaction等待或者进行当前的数据传输HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL68/88态信息;si=000HMST或者slave模式下的总线错误Noaction010X只有内部硬件是有效的在"master"or"addressedslave"模式下.
在所有的情况下,释放总线,并且I2C切换到"notaddressedslave"模式.
复位"sto"标志位.
表86I2CStatus-miscellaneousstates6.
4UART接口6.
4.
1概述HT8550支持2个串口:串口0和串口1.
串口0对应的管脚名为UART0_TX和UART0_RX;串口1对应的管脚名为UART1_TX和UART1_RX.
串口0提供一个灵活的全双工同步/异步通信的接收器/发送器,支持四种工作模式,包括一种同步工作方式和三种异步工作方式:模式0:串口0作为同步接收器/发送器,TX管脚产生移位时钟,RX管脚为输入或者输出的数据,串行数据为8位数据,波特率固定为Fsys/12.
模式1:串口0作为异步接收器/发送器,串行数据共10位,即1位起始位,8位数据位,1位停止位,波特率可调.
模式2:串口0作为异步接收器/发送器,串行数据共11位,即1位起始位,9位数据位,1位停止位,波特率定为Fsys/32或者定为Fsys/64.
模式3:模式3与模式2的功能一样,但是模式3的波特率可调.
串口1提供一个灵活的全双工异步通信的接收器/发送器,有两种工作模式:模式A:串口1作为异步接收器/发送器,串行数据共11位,即1位起始位,9位数据位,1位停止位,波特率可调.
模式B:串口1作为异步接收器/发送器,串行数据共10位,即1位起始位,8位数据位,1位停止位,波特率可调.
HT8550的2个串口与红外调制功能共用同一个逻辑,默认调制频率为38KHz.
6.
4.
2红外调制6.
4.
2.
1功能描述MCU的两个串行接口共享逻辑都可以将TX信号调制成红外功能.
共享逻辑由当TX为低时转换信号的计数器组成.
这个计数器频率可以通过UART_IR_DIV寄存器来编程,默认值为大约38KHz.
可以通过UART_IR_CTRL寄存器来控制组合UART使能红外调制.
HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL69/88TX信号输出可以翻转,用来控制停止状态为低或者高.
6.
4.
2.
2时序图Txinfra(noninverted)Tx(UART0orUART1)Txinfra(inverted)图9串口红外调制6.
4.
2.
3特殊功能寄存器地址名称复位值功能描述0xBCUART_IR_CTRL0x00串口红外控制寄存器0xBDUART_IR_DIV0x3C串口红外频分寄存器表87红外相关寄存器6.
4.
2.
3.
1UART_IR_CTRL位位名称复位值描述属性7:4-0保留R3-0串口1反转输出:0:当串口TX为高时(空闲),输出高,当TX为低时输出红外载波1:当串口TX为高时(空闲),输出低,当TX为低时输出红外载波.
R/W2-0串口1红外使能:0:串口TX1:当TX为低时,输出红外载波R/W1-0串口0反转输出:0:当串口TX为高时(空闲),输出高,当TX为低时输出红外载波1:当串口TX为高时(空闲),输出低,当TX为低时输出红外载波R/W0-0串口0红外使能:0:串口TX1:当TX为低时,输出红外载波R/W表88串口红外控制寄存器(UART_IR_CTRL0xBCH)*为了使用红外模块,必须通过GPIOCTRL寄存器将UART管脚配置成UART功能6.
4.
2.
3.
2UART_IR_DIV位位名称复位值描述属性HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL70/887:0-0x3C分频偏移量N.
红外频率是从24MHz振荡器分下来的,偏移量N加上256,以形成1/2的除数.
IR=24M/(2*(N+256)).
默认值是IR=24M/2(60+256)=37,974Hz*如果红外功能已经使能,不要再改变频分值.
R/W表89串口红外频分寄存器(UART_IR_DIV0xBDH)6.
4.
3UART0接口6.
4.
3.
1串口0配置串口0与GPIO复用,当作为串口0使用时,需要设置GPIO的功能如下:(1)设置GPIO_MODE_SEL=0x4;(2)设置GPIO_CTRL[7:0]=0x55;6.
4.
3.
2串口0波特率当串口0选择模式2时,波特率有两种选择:当PCON.
7(即SMOD位)=1时,波特率为系统时钟的1/32;当PCON.
7(即SMOD位)=0时,波特率为系统时钟的1/64.
在串口0的模式1、模式3时,波特率是可变的.
当ADCON.
7=1时,波特率由波特率生成器和SMOD位的值确定:波特率=)02(64210RELSfcpuSMOD**其中SMOD是PCON.
7的值;S0REL是10位无符号数,寄存器S0RELH和S0RELL的值;fMCU是系统时钟.
下表列举了常用波特率对应的S0REL值(ADCON.
7=1,PCON.
7=1,fcpu=24MHz):常用波特率S0RELHS0RELL12000x010x8724000x020xC848000x030x6496000x030xB2144000x030xCC192000x030xD9384000x030xEC表90UART0常用波特率当ADCON.
7=0时,波特率由定时器1的溢出速率和SMOD位的值确定:波特率=*322SMODTimer1溢出速率6.
4.
3.
3模式0模式0是一种标准的同步通信方式,TX管脚产生移位时钟,RX管脚为输入或者输出的数据.
当MCU向S0BUF寄存器写入数据后,立刻启动发送,8位的数据将以Fsys/12的固定波特率从RX管脚输出,低位在前.
当S0CON寄存器中的REN0被置1后,RX管脚的数据将存储在HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL71/88S0BUF寄存器中.
每帧包含8位数据信息,其波形如下图:12345678D0D1D2D3D4D5D6D7UART0_RX图10UART0模式0的帧格式6.
4.
3.
4模式1模式1是一种标准的异步通信方式,TX管脚产生移位时钟,RX管脚为输入或者输出的数据.
每帧包含10位数据信息:1位起始位(0),8位数据位(低位在前),1位停止位(1),其波形如下图所示:12345678startbitstopbitD0D1D2D3D4D5D6D7UART0_RX图11UART0模式1发送帧格式在模式1中,当MCU向S0BUF寄存器写入数据后,立刻启动发送,10位的数据将以Fsys/12的固定波特率从RX管脚输出.
当S0CON寄存器中的REN0被置1后,RX管脚的数据将存储在S0BUF寄存器中.
模式1数据传输的波特率可调,详细修改方参考《串口0波特率》一章.
6.
4.
3.
5模式2模式2也是一种标准的异步通信方式.
使用9位数据位通信,TX管脚产生移位时钟,RX管脚为输入或者输出的数据.
每帧包含11位数据信息:1位起始位(0),8位数据位(低位在前),1位可编程的第9位数据位,1位停止位(1),其波形如下图所示:UART0_RX12345678startbitstopbitD0D1D2D3D4D5D6D79TB8图12UART0模式2帧格式HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL72/88在数据发送时,串行口控制寄存器中的TB8作为第9位数据同时发送,发送完毕TB8被清除.
当接收时,只有接收到第9位为1时才将串行口的中断标志RI置"1".
按照模式2进行数据传送时不允许进行奇/偶校验,第9位数据可作为数据/地址标志位.
模式2数据传输的波特率固定为Fsys/32或者定为Fsys/64.
6.
4.
3.
6模式3模式3的数据传送方式和模式2相同,只是模式3的串口波特率可调,详细修改方参考《串口0波特率》一章.
6.
4.
3.
7多机通信模式2和模式3中数据总共有9位,其中第9位可以用来作为多机通信的功能.
当寄存器S0CON中多机通信使能位置1后,MCU只有收到第9位数据位等于1时,才产生接收中断,否则,不产生接收中断.
例如,当主机和多个从设备通过串口进行通信时,从设备将多机通信使能位置1,主设备使用模式2或模式3发送1帧数据,数据中包含8位的地址和第9位为1,所有从设备将收到这帧数据,当从设备收到的地址与从设备在网络中的地址一致时,从设备将关闭多机通信使能位.
此时,主设备将发送剩下的帧信息,每个数据的第9位置0,这样其他从设备将忽略这些数据,而地址匹配的从设备会接收这些数据,当从设备和主设备通信完成后,从设置就可以再次使能多机通信.
6.
4.
4UART1接口6.
4.
4.
1串口1配置串口1与GPIO复用,当作为串口1使用时,需要设置GPIO的功能如下:(1)设置GPIO_MODE_SEL=0x7;(2)设置GPIO_CTRL[7:0]=0x44;6.
4.
4.
2串口1波特率当串口1使用模式A或模式B时,波特率是可变的,波特率计算公式为:波特率=)12(3210RELSfsys*,其中,Fsys为系统时钟.
下表列举了常用波特率对应的S1REL值(Fsys=24MHz):常用波特率S1RELHS1RELL12000x010x8724000x020xC848000x030x6496000x030xB2144000x030xCC192000x030xD9384000x030xEC表91UART1常用波特率HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL73/886.
4.
4.
3模式A模式A是一种异步通信方式,每帧包含9位数据信息,波特率可变.
波特率生成器"S1RELH""S1RELL"用于同步输入和输出传输.
串口1的波特率不受寄存器"pcon"的"smod"位作用.
TXD1引脚为数据输出端,当向寄存器"S1BUF"中写入数据后,传输开始.
输出数据每帧包含11位数据信息:1位起始位(0),8位数据位(低位在前),1位可编程的第9位数据位(来自寄存器"S1CON"的"tb81"位),1位停止位(1).
RXD1引脚为数据输入端,当RXD1引脚的下降沿出现,开始接收.
寄存器"S1BUF"完成接收后,输入数据才可继续,第9位数据存放在寄存器"S1CON"的"rb81"位.
在接收期间,寄存器"S1BUF""rb81"保持不变,直到接收完成.
数据收发时,第9位数据可作为奇/偶校验或数据/地址标志位使用.
6.
4.
4.
4模式B模式B是一种异步通信方式,每帧包含8位数据信息,波特率可变.
波特率生成器"S1RELH""S1RELL"用于同步输入和输出传输.
波特率不受寄存器"PCON"的"smod"位作用.
TXD1引脚为数据输出端,当向寄存器"S1BUF"中写入数据后,传输开始.
输出数据每帧包含10位数据信息:1位起始位(0),8位数据位(低位在前),1位停止位(1).
RXD1引脚为数据输入端,当RXD1引脚的下降沿出现,开始接收.
寄存器"S1BUF"完成接收后,输入数据才可继续.
在接收期间,寄存器"S1BUF""rb81"保持不变,直到接收完成.
6.
4.
4.
5多机通信模式A和模式B中数据总共有9位,其中第9位可以用来作为多机通信的功能.
当寄存器S1CON中多机通信使能位置1后,MCU只有收到第9位数据位等于1时,才产生接收中断,否则,不产生接收中断.
例如,当主机和多个从设备通过串口进行通信时,从设备将多机通信使能位置1,主设备使用模式2或模式3发送1帧数据,数据中包含8位的地址和第9位为1,所有从设备将收到这帧数据,当从设备收到的地址与从设备在网络中的地址一致时,从设备将关闭多机通信使能位.
此时,主设备将发送剩下的帧信息,每个数据的第9位置0,这样其他从设备将忽略这些数据,而地址匹配的从设备会接收这些数据,当从设备和主设备通信完成后,从设置就可以再次使能多机通信.
6.
4.
5特殊功能寄存器串口相关寄存器如下:地址名称复位值功能描述0x87PCON0x00电源控制寄存器0x98S0CON0x00串口0控制寄存器0x99S0BUF0x00串口0数据缓冲寄存器0x9BS1CON0x00串口1控制寄存器0x9CS1BUF0x00串口1数据缓冲寄存器0x9DS1RELL0x03串口1波特率发生器的重载值低位0xAAS0RELL0xD9串口0波特率发生器的重载值低位0xBAS0RELH0x03串口0波特率发生器的重载值高位HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL74/880xBBS1RELH0x00串口1波特率发生器的重载值高位0xD8ADCON0x00串口0波特率选择寄存器表92UART寄存器列表6.
4.
5.
1PCON寄存器描述参考《电源与时钟》章节.
6.
4.
5.
2S0CON位位名称复位值描述属性7SM00串行工作方式选择位:00:模式0;01:模式1;02:模式2;03:模式3;R/W6SM10R/W5SM200多机交互使能位置1,则使能多机通信功能.
R/W4REN00允许接收位置1时,允许串口0接收;置0时,禁止串口0接收.
R/W3TB800发送数据位的第9位模式2、3中是被发出去的第9位数据位.
可以用来做奇偶校验或多机通信,由软件控制.
R/W2RB800接收数据位的第9位当串口0配置为模式2、3时,代表收到的第9数据位;当串口0配置为模式1时,并且SM20=1,代表停止位;当串口0配置为模式0时,该位无效.
R/W1TI00发送中断标志当串口0发送完成时,由硬件置位;必须由软件清零.
如果串口0配置为模式0,则发送完D7后,标志位被置1;其他模式,则发送停止位前,标志位置1.
R/W0RI00接收中断标志当串口0接收完成时,由硬件置位;必须由软件清零.
如果串口0配置为模式0,则接收完D7后,标志位被置1;其他模式,则接收停止位前,标志位置1.
R/W表93串口0控制寄存器(S0CON0x98H)6.
4.
5.
3S0BUF位位名称复位值描述属性HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL75/887:0-0x00对寄存器S0BUF写操作,则串口0自动启动串口发送;对寄存器S0BUF读操作,则从串行接收缓存中读取串口0收到的数据.
R/W表94串口0缓冲寄存器(S0BUF0x99H)6.
4.
5.
4S1CON位位名称复位值描述属性7SM0串行工作方式选择位:0:模式A;串口1作为9位的串口使用.
1:模式B,串口1作为8位的串口使用.
R/W6-0保留,读返回总是0.
R5SM210多机交互使能位置1,则使能多机通信功能.
R/W4REN10允许接收位置1时,允许串口1接收;置0时,禁止串口1接收.
R/W3TB810发送数据位的第9位模式A中是被发出去的第9位数据位.
可以用来做奇偶校验或多机通信,由软件控制.
R/W2RB810接收数据位的第9位当串口1配置为模式A时,代表收到的第9数据位;当串口1配置为模式B时,并且SM20=1,代表停止位;R/W1TI10发送中断标志当串口1发送完成时,由硬件置位;必须由软件清零.
如果串口1配置为模式A或B,则发送停止位前,标志位置1.
R/W0RI10接收中断标志当串口0接收完成时,由硬件置位;必须由软件清零.
如果串口1配置为模式A或B,则接收停止位前,标志位置1.
R/W表95串口1控制寄存器(S1CON0x9BH)6.
4.
5.
5S1BUF位位名称复位值描述属性7:0-0x00对寄存器S1BUF写操作,则串口1自动启动串口发送;对寄存器S1BUF读操作,则从串行接收缓存中读取串口1收到的数据.
R/W表96串口1缓冲寄存器(S1BUF0x9CH)HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL76/886.
4.
5.
6S1RELL位位名称复位值描述属性7:0-0x00可以配置串口1波特率.
为加载寄存器的BIT[7:0].
R/W表97串口1波特率发生器的重载值低位(S1RELL0x9DH)6.
4.
5.
7S0RELL位位名称复位值描述属性7:0-0x00可以配置串口0波特率.
为加载寄存器的BIT[7:0].
R/W表98串口0波特率发生器的重载值低位(S0RELL0xAAH)6.
4.
5.
8S0RELH位位名称复位值描述属性7:2-0保留,读返回0R1:0-0可以配置串口0波特率.
为加载寄存器的BIT[9:8].
R/W表99串口0波特率发生器的重载值高位(S0RELH0xBAH)6.
4.
5.
9S1RELH位位名称复位值描述属性7:2-0保留,读返回0R1:0-0可以配置串口1波特率.
为加载寄存器的BIT[9:8].
R/W表100串口1波特率发生器的重载值高位(S1RELH0xBBH)6.
4.
5.
10ADCON位位名称复位值描述属性7BD0串口0波特率选择寄存器.
当设置为1时,串口0波特率由内部时钟控制;当设置为0时,串口0波特率由定时器1的溢出时间控制.
详细波特率设置参考《UART接口》一章.
R/W6:0-0保留,读返回0R表101AD控制寄存器(ADCON0xD8H)6.
5RTC单元6.
5.
1概况RTC单元精度为1/256秒.
允许用户软件读取秒,分钟,小时,星期和日期.
日期由一个16位的寄存器表示,由用户软件自定义日期的格式.
RTC总时间达179年之久,支持闹钟功能和周期性中断功能.
能够实现秒、分、小时周期中断.
通过中断可以将MCU从IDLE/STOP状态中恢复.
RTC框图如下:HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL77/88图13RTC框图RTC的工作时钟源由系统内部分配得到32.
768KHz的时钟,供RTC电路工作.
RTC中断与外部中断0复用,中断向量号为0.
6.
5.
2RTC开启和停止RTC的开启和关闭由寄存器RTCC.
0控制,当软件设置该位为1时,RTC时钟(rtcx)将驱动所有RTC寄存器,并且RTC内部计数器开始计数;当软件设置该位为0时,所有RTC寄存器的值将保持不变.
6.
5.
3RTC寄存器读写读写RTC寄存器时,需要将RTCWE位(写使能)或RTCRE(读使能)置1.
当RTCWE或RTCRE置1时,当前时间保持器将停止更新直到该位被清零.
推荐软件中读写操作必须在1ms内完成,如果用户软件在读写RTC寄存器的过程中,亚秒计数事件产生,则RTCWE(RTCRE)清零后,硬件会在最快时间内处理该事件.
RTCWE和RTCRE不能同时被置1,如果用户软件这样操作,则硬件不响应.
如果用户软件将该位置1后,1.
95ms内没有将该位清零,则硬件自动将其清零.
向RTC寄存器中写入错误的数据会导致RTC给出错误时间.
例如写入的值超出了小时,分钟的范围.
6.
5.
4RTC报警报警功能:当RTC计数器的值与报警寄存器的值匹配后就会产生中断,并将中断标志位置1(rtcif),如果RTC中断被使能,则MCU可以响应中断,并且将从IDLE/STOP模式中唤醒;如果中断没有被使能,MCU也能从IDLE/STOP模式中唤醒,但是不产生中断.
当用户软件设置RTC报警寄存器时,并不需要将RTCWE(RTCRE)置1.
RTC报警器中没有日期报警的设置,因此由用户自定义报警日期.
当用户软件写入不合法的值到报警寄存器HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL78/88中(例如向RTAH中写入61),会导致RTC永远不能匹配,从而不能产生中断.
RTC报警寄存器由RTASS,RTAS,RTAM,RTAH组成,当用户软件中只使能其中1个报警寄存器作为比较时,则RTC在一个周期内产生1次中断;当用户软件中使能了多个报警寄存器作为比较时,则RTC只有在每一个时间都匹配的情况下,才产生中断.
使用RTC报警功能,产生中断的流程:1)清除ERTC位(IEN4.
5寄存器),关闭RTC中断;清除所有比较使能寄存器(RTCC.
7-4);2)写报警寄存器(RTASS,RTAS,RTAM,RTAH),设置报警时间点;3)使能报警位和使能RTC中断位.
6.
5.
5特殊功能寄存器RTC寄存器列表如下:地址名称复位值功能描述0xCERTCSEL0x00RTC选择寄存器0xCFRTCDATA0x00RTC数据寄存器RTCSEL=0x4RTCCC0x00RTC控制寄存器RTCSEL=0x6RTCSS0x00RTC亚秒寄存器[0:255].
(只读)RTCSEL=0x7RTCS0x00RTC秒寄存器[0:59]RTCSEL=0x8RTCM0x00RTC分寄存器[0:59]RTCSEL=0x9RTCH0x00RTC小时寄存器[0:23]RTCSEL=0xARTCD00x00RTC日寄存器(低位)RTCSEL=0xBRTCD10x00RTC日寄存器(高位)RTCSEL=0x0RTASS0x00闹钟亚秒比较寄存器[0:255].
RTCSEL=0x1RTAS0x00闹钟秒比较寄存器[0:59].
RTCSEL=0x2RTAM0x00闹钟分比较寄存器[0:59].
RTCSEL=0x3RTAH0x00闹钟小时比较寄存器[0:23].
0xD1IEN40x00RTC中断使能寄存器表102RTC寄存器列表6.
5.
5.
1RTCSEL位位名称复位值描述属性7:4-0保留.
R3:0-0A4-bitpointertointernalregistersoftheRTC.
RTCSEL寄存器实现RTC内部特殊寄存器的选择.
当要读写RTC内部寄存器,可以先配置RTCSEL为相应的值,然后再读写RTCDAT寄存器.
R/W表103RTC选择寄存器(RTCSEL0xCEH)注意:当使用间接地址读写RTCDATA时,如果需要连续写RTCDATA,则必须保证2次写间隔时间大于30.
5ms.
HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL79/886.
5.
5.
2RTCDATA位位名称复位值描述属性7:0-0RTC数据寄存器,用于RTC内部寄存器数据读写.
当RTCSEL寄存器选择不同的值后,RTCDATA的定义也随之变化.
详细描述参考下表.
R/W表104RTC数据寄存器(RTCDAT0xCFH)6.
5.
5.
3IEN4位位名称复位值描述属性7:6-0保留.
R5ERTC0当ERTC置1时,使能RTC中断;否则,禁止RTC中断.
R/W4:0-0保留.
表105RTC中断使能寄存器(IEN40xD1H)6.
5.
5.
4间接访问寄存器当RTCSEL=4时,RTCDATA定义如下:位位名称复位值描述属性7SSCE0亚秒比较使能:置1,使能RTCSS与RTASS寄存器的比较;置0,忽略RTCSS与RTASS寄存器的比较.
R/W6SCE0秒比较使能置1,使能RTCS与RTAS寄存器的比较;置0,忽略RTCS与RTAS寄存器的比较.
R5MCE0分比较使能置1,使能RTCM与RTAM寄存器的比较;置0,忽略RTCM与RTAM寄存器的比较.
R/W4HCE0小时比较使能置1,使能RTCH与RTAH寄存器的比较;置0,忽略RTCH与RTAH寄存器的比较.
R/W3RTCRE0读使能当读RTCSS,RTCS,RTCM,RTCH,RTCD0,RTCD1寄存器时,需要将该位置1.
注意该位不能和RTCC.
2同时置1.
R/W2RTCWE0写使能当写RTCSS,RTCS,RTCM,RTCH,RTCD0,RTCD1寄存器时,需要将该位置1.
注意该位不能和RTCC.
3同时置1.
R/W1RTCIF0中断状态标志位当RTC产生中断后,该位被置1.
需要软件将其清零.
软件写1,不能产生中断.
当RTCC.
7-4全部清零时,该位自动清零.
R/WHT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL80/880RTCE0RTC使能置1,RTC运行;置0,RTC.
R/W表106RTCCRTC时钟控制寄存器(RTCSEL=0x4)当RTCSEL=6时,RTCDATA为只读寄存器,定义为RTCSS,表示1/256秒.
该寄存器从0到255变化,不能写.
当RTCWE位清零后,RTCSS自动清零.
当RTCSEL=7时,RTCDATA为可读写寄存器,定义为RTCS,表示秒.
该寄存器从0到59变化.
当RTCSEL=8时,RTCDATA为可读写寄存器,定义为RTCM,表示分钟.
该寄存器从0到59变化.
当RTCSEL=9时,RTCDATA为可读写寄存器,定义为RTCH,其中BIT[4:0]表示小时,BIT[7:5]表示星期.
BIT[4:0]从0到23变化,BIT[7:5]从1到7变化.
当RTCSEL=10时,RTCDATA为可读写寄存器,定义为RTCD0.
当RTCSEL=11时,RTCDATA为可读写寄存器,定义为RTCD1.
RTCD0,RTCD1寄存器表示日期.
由用户软件决定日期的格式,RTCD1存储高字节,RTCD0存储低字节.
当RTCSEL=0时,RTCDATA为可读写寄存器,定义为RTASS,亚秒报警寄存器.
该值由用户软件设置.
当RTCSEL=1时,RTCDATA为可读写寄存器,定义为RTAS,秒报警寄存器.
该值由用户软件设置.
当RTCSEL=2时,RTCDATA为可读写寄存器,定义为RTAM,分钟报警寄存器.
该值由用户软件设置.
当RTCSEL=3时,RTCDATA为可读写寄存器,定义为RTAH,小时报警寄存器.
该值由用户软件设置.
6.
6看门狗定时器6.
6.
1概述HT8550可通过看门狗定时器(WatchdogTimer)监控软、硬件,以免跑飞.
HT8550的看门狗是一个15位的计数器,每24或384个时钟周期加1.
如果软件在786336个时钟周期(24MHz时钟下约32.
5ms)或1258136个时钟周期(24MHz时钟下约0.
5s)内没有清零看门狗计数器,看门狗计数器将溢出,产生内部复位信号对系统进行复位.
6.
6.
2看门狗使能6.
6.
2.
1硬使能HT8550有专门的看门狗使能引脚WDTEN.
如果在系统复位的过程中(RSTN接GND)WDTEN接VCC,并保持到系统复位完成(RSTN拉高),则看门狗被开启;否则,如果在系统复位过程中和复位完成后,WDTEN时钟接GND,则看门狗不工作.
注意:系统工作中,如果没有复位产生,则改变WDTEN电平,将无影响.
6.
6.
2.
2如果WDTEN接GND,系统上电后,看门狗不工作.
如果要开启看门狗,可通过配置相关寄存器swdt(IEN1.
6),开启看门狗.
软使能注意:看门狗一旦开启,将无法关闭.
除非将系统复位,并将WDTEN接GND,并保持到系统复位完成,才可关闭看门狗.
HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL81/886.
6.
3看门狗计数器清零当连续将wdt(IEN0.
6)和swdt(IEN1.
6)写1后,看门狗计数器将自动清零,中间不可以再插入其他指令.
看门狗计数器的高7位可以通过设置wdtrel寄存器的BIT[6:0]重新载入.
当wdtrel的值增加,看门狗溢出的时间将变短.
6.
6.
4特殊功能寄存器看门狗寄存器如下:地址名称复位值功能描述0x86WDTREL0x00看门狗加载寄存器表107看门狗寄存器列表6.
6.
4.
1WDTREL位位名称复位值描述属性7PS0BIT7=0时,看门狗计数器每24个机器周期,自动增1;当BIT7=1时,看门狗计数器每384个机器周期,自动增1.
R/W6:0-0BIT[6:0]的值将自动加载到内部看门狗计数器的高7位,当软件将看门狗计数器清零时.
R/W表108看门狗加载寄存器(WDTREL0x86H)6.
7JTAG调试支持标准的JTAG接口,用户可以通过引脚TCK、TDI、TDO、TMS实现在线编程和在线调试.
7AFE相关寄存器配置7.
1寄存器描述HT8550与模拟前端电路相关的寄存器如下表,另外集成高压侧供电电源掉电检测功能,以便于用户软件判断交流断电时保存必要的数据.
其中模拟电路的power、AGC、TX_VGA、ALC等功能可根据应用需求进行灵活配置,具体定义如下:地址名称复位值功能描述0xF3ANALOG_CFG10x08模拟前端电路控制寄存器0xC9ANALOG_CFG20x000xBFVCC_LOSS0x000xF4AGC_LOOP_CFG10x000xF7AGC_LOOP_CFG20x000xF8AGC_LOOP_CFG30x000xFDAGC_LOOP_STATUS10x000xD4AGC_LOOP_STATUS20x000xAFALC_CONTROL0x00HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL82/88表109模拟前端寄存器列表7.
1.
1ANALOG_CFG1位位名称复位值描述属性7:5-0芯片测试用.
Default=0.
R/W4DAC_EN0[4:0]均为1有效.
单独RX工作时,可设置[4:0]=01111.
单独TX工作时,可设置[4:0]=11000.
R/W3REF_EN1R/W2VGA_EN0R/W1BUF_EN0R/W0ADC_EN0R/W表110ANALOG_CFG1寄存器(ANALOG_CFG10xF3H)7.
1.
2ANALOG_CFG2位位名称复位值描述属性7:6-0RXPOWER控制,决定receiver功耗.
00为6.
5mA,01和10为9mA,11为12.
5mA.
功耗和性能有折中关系,推荐配置10.
R/W5:4-0TXALCgain控制,配置11、10/01、00分别对应PA发送功率为1W、0.
5W、0.
25W(外部电压、电流采样电路请见APPnote).
R/W3-0片上TXALC使能,1有效.
R/W2:0-0片上TXVGA增益设置,如设置此值,应使bit3=0.
有八种增益设置,对应数值如下:000:-0.
5dB001:1dB010:2.
5dB011:4dB100:5.
5dB101:7dB110:8.
5dB111:10dBR/W表111ANALOG_CFG2寄存器(ANALOG_CFG20xC9H)7.
1.
3VCC_LOSS位位名称复位值描述属性7:3-0ALC单元U通道的实时信号幅度.
R2-0VCC_loss的实时状态.
R1-0VCC_loss中断标志位.
当BIT[0]=1时,并且产生VCC_loss信号,则该标志位被置1.
用户软件写1,清零.
R/W0-0VCC_loss中断使能,写1使能中断.
R/W表112VCC_LOSS寄存器(VCC_LOSS0xBFH)7.
1.
4AGC_LOOP_CFG1位位名称复位值描述属性HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL83/887:0-0模拟电路配置寄存器.
用户软件不需要配置.
R/W表113AGC_LOOP_CFG1寄存器(AGC_LOOP_CFG10xF4H)7.
1.
5AGC_LOOP_CFG2位位名称复位值描述属性7:4-0RX通道选择关闭AGC时,手动设置VGA的增益,0000~1111对应-3~42dB,精度为3dB.
R/W3:0-0RX_VGA最大增益限制.
R/W表114AGC_LOOP_CFG2寄存器(AGC_LOOP_CFG20xF7H)7.
1.
6AGC_LOOP_CFG3位位名称复位值描述属性7-01:由MCU对txgain进行控制;0:ALC功能开启.
R/W6-0保留位,default0.
R5-0接收信号载频选择,当载频小于375kHz时,设置为0,大于375kHz时设置为1.
R/W4-0AGC使能,1使能AGC自动调节.
R/W3:1-0AGC单步时间设定,选项如下:3'b000refreshevery2.
4ms3'b001refreshevery0.
3ms3'b010refreshevery0.
7ms3'b011refreshevery1.
0ms3'b100refreshevery1.
4ms3'b101refreshevery1.
7ms3'b110refreshevery2.
1ms3'b111refreshevery0.
17msR/W0-0AGC目标终值设定,0表示1V(Vpp);1表示0.
5V(Vpp).
R/W表115AGC_LOOP_CFG3寄存器(AGC_LOOP_CFG30xF8H)7.
1.
7AGC_LOOP_STATUS1位位名称复位值描述属性7:6-0保留.
R5-0输入信号强度指示.
R4-0RX_AGC锁定指示.
R3-0RX_AGC增益值.
R2:0-0保留.
R表116AGC_LOOP_STATUS1寄存器(AGC_LOOP_STATUS10xFDH)7.
1.
8AGC_LOOP_STATUS2位位名称复位值描述属性7:0-0输入信号的均值RHT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL84/88表117AGC_LOOP_STATUS2寄存器(AGC_LOOP_STATUS20xD4H)7.
1.
9ALC_CONTROL位位名称复位值描述属性7:3-0ALC单元I通道实时信号幅度.
R2:0-0TXVGA增益配置,当AGC_LOOP_CFG3[7]=1时,TXgain不再由片上ALC单元控制,此时控制权限交由MCU执行.
R/W表118ALC_CONTROL寄存器(ALC_CONTROL0xAFH)7.
2ALC功能描述ALC功能用于对发送信号的幅度进行控制,当开启ALC功能后,由片上设定输出目标幅度(功率),输出幅度(功率)将不受负载阻抗的影响而保持定值,详细参考寄存器ANALOG_CFG2[5:4].
ALC电路功能框图MCUALCPAIinVin220V图14ALC框图图中方框所示为芯片内部电路.
ALC电路也可与MCU之间交互数据,当配置AGC_LOOP_CFG3bit[7]=1时,MCU读取Vin和Iin的实时信号,并由MCU直接控制tx_gain(ANALOG_CFG2[2:0])的数值,从而达到控制输出信号电平的目的.
7.
3掉电检测掉电检测功能用于判断片外高压电源的跌落状态,外部电压通过引脚VCC_DET输入,与内部1.
2V参考电压相比较,并将结果送入MCU.
使用者可灵活改变片外分压电阻的比例得到需要的电压跌落判断阈值.
HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL85/88VCC(12V)MCU1.
2VVCC_DET图15掉电检测功能示意图7.
4AGC的配置为了处理接收通道大范围的信号变动,HT8550具有完善的AGC电路,AGC的终值和步长都是可以设定的.
根据调制信号峰均比的大小,AGC终值可以设置1V或者0.
5V.
AGC的单步时间可在0.
17mS-2.
4mS间调整,使用者可根据信道上具体的噪声干扰和信号时变状况灵活设置.
详细使用方法请参考《HT8550应用手册》.
8MCU与PHY交互8.
1概述MCU与PHY之间交互通过MCU的数据存储空间和PHY中断完成.
其中PHY拥有独立的DMA功能,能访问MCU内部8K的数据空间,PHY相关配置的寄存器映射在MCU数据空间0xF000-0xFFFF,MCU通过访问数据存储空间来配置这些寄存器.
PHY作为MCU的协处理器,为半双工模式,有IDLE,TX,RX三种工作状态.
MCU与PHY之间的通信协议可通过软件灵活的配置.
默认的通信帧格式定义如下:PreambleFCHPayload3*8bits255*8bits图16交互帧结构图其中preamble用于物理层的帧同步;FCH中包含了payload的长度,调制方式,卷积编码模式,分集模式,和CRC5校验位;payload最大支持255字节.
8.
2PHY功能简介PHY拥有独立的寄存器,能够灵活的配置PHY层各模块的属性,并且拥有自动关闭和开启时钟的功能,从而使PHY消耗的电流最小.
PHY主要支持以下功能:支持DBPSK,DQPSK,D8PSK模式,符号速率可调,最高可达41.
67kbaud;支持双载波发送和接收;HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL86/88支持交织及鲁棒模式发送;支持载波频率范围为3KHz-500KHz,任意可调;支持信号强度值估计和信号SNR值估计,信号RSSI值估计;支持PDM调制发送;支持停止发送功能;详细的配置过程参考《应用手册》.
8.
3参数设置PHY参数通过MAC层原语向PHY传递参数,PHY层将给MAC响应,并在下一次发送时,使用最新的配置,详细的配置过程和原语定义,参考《应用手册》.
9芯片封装尺寸图17LQFP48packageinformation(单位mm)10附录10.
1寄存器列表地址名称复位值功能简介索引0x87PCON0x08电源控制寄存器4.
2.
50xACADC_QMD_CLK_CTRL0x10ADC和QMD时钟控制4.
3.
30xD6FLASH_CLK_DIV0x09外部Flash时钟分频控制4.
3.
30xE5CLK_ON0x29时钟开启控制寄存器4.
3.
3HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL87/88地址名称复位值功能简介索引0xE6CLK_OFF0x0时钟关闭控制寄存器4.
3.
30xF1MAC_CLK_DIV0x01MAC时钟分频控制4.
3.
30xF2CLK_CTRL0x0时钟控制寄存器4.
3.
30xE7RST_SET0x0复位设置4.
4.
50xE8RST_CLR0x0复位撤销4.
4.
50xA1DMASEL0x0DMA线程选择寄存器5.
3.
30xA2DMAS00x0DMA配置和状态寄存器,根据DMASEL寄存器的配置,可以控制3个线程5.
3.
30xA3DMAS10x05.
3.
30xA4DMAS20x05.
3.
30xA5DMAS30x05.
3.
30xA6DMAT00x05.
3.
30xA7DMAT10x05.
3.
30xB1DMAT20x05.
3.
30xB2DMAT30x05.
3.
30xB3DMAC00x05.
3.
30xB4DMAC10x05.
3.
30xB5DMACSR0x05.
3.
30xB6DMATC0x05.
3.
30xB7DMASC0x05.
3.
30x9AIEN20x0IEN2中断使能5.
4.
110xA8IEN00x0IEN0中断使能5.
4.
110xB8IEN10x0IEN1中断使能5.
4.
110xC0IRCON0x0中断请求控制寄存器5.
4.
110xFAMAC_INTR_MASK0x0MAC中断屏蔽0xFBGPIO_INTR_FLAGS0x0GPIO外部中断标志5.
4.
110xFCPHY_INTR_FLAGS0x0PHY中断标志5.
4.
110x88TCON0x00定时器控制寄存器5.
5.
50x89TMOD0x00定时器方式寄存器5.
5.
50x8ATL00x00定时器0低8位5.
5.
50x8BTL10x00定时器1低8位5.
5.
50x8CTH00x00定时器0高8位5.
5.
50x8DTH10x00定时器1高8位5.
5.
50xC8T2CON0x40定时器2控制寄存器5.
5.
50xCCTL20x00定时器2低8位5.
5.
50xCDTH20x00定时器2高8位5.
5.
50xF9GPIO_INTR_POLARITY0x0GPIO中断极性选择5.
6.
10xFEGPIO_MODE_SEL0x0GPIOport选择5.
6.
10xFFGPIO_CTRL0x0GPIO模式选择5.
6.
10x8FFLASH_CTRL0x00Flash控制寄存器6.
1.
30x91FLASH_DATA0x00Flash数据寄存器6.
1.
30x96FLASH_STATUS0x00Flash状态寄存器6.
1.
30xABFLASH_COPY0x00Flash复制寄存器6.
1.
30xBEFLASH_COPY_PAGES0x80Flash页复制寄存器6.
1.
3HT8550数据手册v0.
01Copyright@2012HitrendtechCONFIDENTIAL88/88地址名称复位值功能简介索引0xD5FlashMemoryXOR0x7BFlash异或寄存器6.
1.
30xD7ProgramMemoryLock0x00存储编程锁定寄存器6.
1.
30xE1SPSTA00HSPI状态寄存器6.
2.
40xE2SPCON14HSPI控制寄存器6.
2.
40xE3SPDAT00HSPI数据寄存器6.
2.
40xE4SPSSNFFHSPI从机选择寄存器6.
2.
40xDAI2CDAT0x00数据寄存器6.
3.
20xDBI2CADR0x00自身从机地址寄存器6.
3.
20xDCI2CCON0x00控制寄存器6.
3.
20xDDI2CSTA0xF8状态寄存器6.
3.
20xBCUART_IR_CTRL0x00串口红外控制寄存器6.
4.
2.
30xBDUART_IR_DIV0x3C串口红外频分寄存器6.
4.
2.
30x87PCON0x00电源控制寄存器6.
4.
50x98S0CON0x00串口0控制寄存器6.
4.
50x99S0BUF0x00串口0数据缓冲寄存器6.
4.
50x9BS1CON0x00串口1控制寄存器6.
4.
50x9CS1BUF0x00串口1数据缓冲寄存器6.
4.
50x9DS1RELL0x03串口1波特率发生器的重载值低位6.
4.
50xAAS0RELL0xD9串口0波特率发生器的重载值低位6.
4.
50xBAS0RELH0x03串口0波特率发生器的重载值高位6.
4.
50xBBS1RELH0x00串口1波特率发生器的重载值高位6.
4.
50xD8ADCON0x00串口0波特率选择寄存器6.
4.
50xCERTCSEL0x00RTC选择寄存器6.
5.
50xCFRTCDATA0x00RTC数据寄存器6.
5.
50xD1IEN40x00RTC中断使能寄存器6.
5.
50x86WDTREL0x00看门狗加载寄存器6.
6.
40xF3ANALOG_CFG10x08模拟前端电路控制寄存器7.
10xC9ANALOG_CFG20x000xBFVCC_LOSS0x000xF4AGC_LOOP_CFG10x000xF7AGC_LOOP_CFG20x000xF8AGC_LOOP_CFG30x000xFDAGC_LOOP_STATUS10x000xD4AGC_LOOP_STATUS20x000xAFALC_CONTROL0x00

日本CN2独立物理服务器 E3 1230 16G 20M 500元/月 提速啦

提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑 由赣州王成璟网络科技有限公司旗下赣州提速啦网络科技有限公司运营 投资1000万人民币 在美国Cera 香港CTG 香港Cera 国内 杭州 宿迁 浙江 赣州 南昌 大连 辽宁 扬州 等地区建立数据中心 正规持有IDC ISP CDN 云牌照 公司。公司购买产品支持3天内退款 超过3天步退款政策。提速啦的市场定位提速啦主...

腾讯云2核4GB内存8M带宽 年74元

一般大厂都是通过首年才有可以享受爆款活动,然后吸引我们注册他们商家达到持续续费和购买的目的。一般只有大厂才能有这样的魄力和能力首年亏本,但是对于一般的公司和个人厂家确实难过,这几年确实看到不少的同类商家难以生存。这里我们可以看到有对应的套餐方案。不过这两个套餐都是100%CPU独享的,不是有某云商家限制CPU的。但是轻量服务器有个不好的就是带宽是较大且流量是限制的额,分别是1GB和1.2TB月流量...

pia云低至20/月,七折美国服务器

Pia云是一家2018的开办的国人商家,原名叫哔哔云,目前整合到了魔方云平台上,商家主要销售VPS服务,采用KVM虚拟架构 ,机房有美国洛杉矶、中国香港和深圳地区,洛杉矶为crea机房,三网回程CN2 GIA,带20G防御,常看我测评的朋友应该知道,一般带防御去程都是骨干线路,香港的线路也是CN2直连大陆,目前商家重新开业,价格非常美丽,性价比较非常高,有需要的朋友可以关注一下。活动方案...

css加载失败为你推荐
迦南serverwordpress模板wordpress模板与主题的区别http404未找到"HTTP 404 未找到"的错误如何对付?_conn.asp数据库连接出错,请打开conn.asp文件检查连接字串。重庆400年老树穿楼生长重庆轻轨穿过居民楼在哪里,从解放碑怎么去netshwinsockreset电脑开机老是出现wwbizsrv.exe 应用程序错误 怎么处理360免费建站怎样给360免费自助建站制作的企业网站做一级域名解析绑定?sns网站有哪些最近两年哪些SNS网站比较火滴滴估值500亿开滴滴怎么才能月入一万,平均一天400纯收入,求指点tumblr上不去吃鸡更新完打不开,成这样了,怎么办在线等,挺急的
warez 抢票工具 湖南服务器托管 新天域互联 网站木马检测工具 南通服务器 广州服务器 免费测手机号 100mbps 网站在线扫描 双线机房 帽子云排名 德讯 学生机 asp介绍 以下 回程 qq空间登陆首页 百度空间登陆首页 更多