使用内部集成电路总线的集成电路及其控制方法

文档序号:6399043阅读:148来源:国知局
专利名称:使用内部集成电路总线的集成电路及其控制方法
技术领域
本发明涉及一种内部集成电路(Inter Integrated Circuit, I2C)总线控制器,特别是有关于一种可弹性调整传送格式的I2C总线控制器。
背景技术
I2C总线为常见的集成电路的总线标准。I2C总线是飞利浦(Philips)公司所开发的一种两线式串行总线(serial bus)标准,其藉由串行时钟SCL (serial clock)以及串行数据SDA (serial data)来定义集成电路(integrated circuit)之间数据的接收与传送。图1是显示传统集成电路之间使用I2C总线的示意图。通过传输线130与140,可将集成电路110与120的串行时钟SCL、串行数据SDA端耦接在一起。其中,集成电路110为主(master)集成电路,而集成电路120为仆(slave)集成电路。集成电路110可通过传输线130与140对集成电路120下达控制指令。I2C总线具有许多不同的传送格式。因此,需要一种具有相容性且可弹性调整传送格式的I2C总线控制器。

发明内容
本发明提供一种集成电路,用以控制一从属元件。上述集成电路包括一接脚;一微控制器;以及一内部集成电路总线控制器,耦接于上述微控制器以及上述接脚之间。上述内部集成电路总线控制器包括一收发单元,经由上述接脚耦接于上述从属元件;以及一接口单元,耦接于上述收发单元以及上述微控制器之间。上述接口单元包括一起始控制寄存器,其中当上述微控制器对上述起始控制寄存器进行编程时,上述起始控制寄存器经由上述收发单元而提供一起始信号至上述从属元件;以及一停止控制寄存器,其中当上述微控制器对上述停止控制寄存器进行编程时,上述停止控制寄存器经由上述收发单元提供一停止信号至上述从属元件。上述微控制器根据来自上述接口单元的一第一中断信号而对上述停止控制寄存器进行编程。再者,本发明提供一种控制方法,适用于一内部集成电路总线控制器,其中上述内部集成电路总线控制器耦接于一从属元件。藉由编程上述内部集成电路总线控制器的多个寄存器,以提供包括多个信号的一分组至上述从属元件,其中上述分组具有一特定格式,且上述分组的上述特定格式包括一第一起始信号以及一结束信号。上述第一起始信号藉由编程上述内部集成电路总线控制器的一起始控制寄存器所产生,而上述结束信号藉由编程上述内部集成电路总线控制器的一结束控制寄存器所产生。


图1是显示传统集成电路之间使用I2C总线的示意图;图2是显示根据本发明一实施例所述的集成电路;图3是显示描述符合I2C总线规格的不同指令的串行数据信号SDA的格式表;以及图4是显示根据本发明一实施例所述的串行数据信号SDA的分组。附图符号说明100 从属元件;110、120、200 集成电路;130、140 传输线;210 微控制器;220 内部集成电路总线控制器;230 接口单元;231 起始控制寄存器;232 停止控制寄存器;233 地址/命令/数据寄存器;234 确认中断状态寄存器;235 未确认中断状态寄存器;240 收发单元;241,243 先进先出寄存器;242、244 位移器;245 方向控制器;250 时钟产生器;300 格式表;400 分组;402-426 字段;As 确认信号; Am 未确认信号;CMND 命令信号;DATA 数据信号;Dir 方向指示信号;ID、IDr、IDw 地址信号;P 停止信号;PIN1、PIN2 接脚;R 读取信号;S、Sr 起始信号;SCL 串行时钟信号;SDA 串行数据信号;以及W 写入信号。
具体实施例方式为使本发明的上述和其他目的、特征、和优点能更明显易懂,下文特举出较佳实施例,并结合附图详细说明如下。
实施例图2是显示根据本发明一实施例所述的集成电路200。集成电路200为主集成电路,其通过串行时钟信号SCL与串行数据信号SDA与从属元件100进行通讯。集成电路200包括微控制器210、内部集成电路(Inter Integrated Circuit, I2C)总线控制器220以及接脚PINl与PIN2。其中集成电路200通过接脚PINl与接脚PIN2而耦接于从属元件100。I2C总线控制器220包括接口单元230、收发单元240以及时钟产生器250。接口单元230包括起始控制寄存器231、停止控制寄存器232、地址/命令/数据寄存器233、确认中断状态寄存器234以及未确认中断状态寄存器235。收发单元240包括先进先出(First In FirstOut,FIFO)寄存器241与243、位移器242与244以及方向控制器245。先进先出寄存器241耦接于起始控制寄存器231、停止控制寄存器232以及地址/命令/数据寄存器233。先进先出寄存器241可将来自起始控制寄存器231、停止控制寄存器232或地址/命令/数据寄存器233的信号进行寄存,以便将寄存的信息提供至位移器242。于是,经由位移器242,方向控制器245便可将来自先进先出寄存器241的信息提供至从属元件100。此外,先进先出寄存器243耦接于地址/命令/数据寄存器233、确认中断状态寄存器234以及未确认中断状态寄存器235。先进先出寄存器243可经由方向控制器245以及位移器244而将来自从属元件100的确认信号、未确认信号或地址/命令/数据信号进行寄存,以便分别将寄存的对应于确认信号、未确认信号、地址/命令/数据信号的信息提供至接口单元230的确认中断状态寄存器234、未确认中断状态寄存器235、地址/命令/数据寄存器233。再者,时钟产生器250可经由接脚PIN2提供串行时钟信号SCL至从属元件100。在集成电路200中,微控制器210会根据一软件或一固件对接口单元230内的寄存器进行编程(program),以控制传送至从属元件100的串行数据信号SDA,并接收来自从属元件100的串行数据信号SDA。在本实施例中,从属元件100例如是内部集成电路(Inter Integrated Circuit, I2C)从属元件。在图2中,微控制器210会对起始控制寄存器231进行编程,以便经由收发单元240的先进先出寄存器241、位移器242以及方向控制器245传送起始信号S至从属元件100。微控制器210会对停止控制寄存器232进行编程,以便经由收发单元240的先进先出寄存器241、位移器242以及方向控制器245传送停止信号P至从属元件100。微控制器210会对地址/命令/数据寄存器233进行编程,以便经由收发单元240的先进先出寄存器241、位移器242以及方向控制器245传送所对应的信号(例如地址信号ID、读取信号R、写入信号W或数据信号DATA)至从属元件100。此外,微控制器210会对地址/命令/数据寄存器233进行读取,以便接收来自从属元件100且经由方向控制器245、位移器244与先进先出寄存器242的数据信号DATA。微控制器210可对确认中断状态寄存器234以及未确认中断状态寄存器235进行编程,以便经由收发单元240的先进先出寄存器241、位移器242以及方向控制器245而分别传送确认信号As以及未确认信号 Am至从属兀件100。此外,当确认中断状态寄存器234经由方向控制器245、位移器244与先进先出寄存器242接收到来自从属元件100的确认信号As时,确认中断状态寄存器234会提供第一中断信号至微控制器210。相同地,当未确认中断状态寄存器235经由方向控制器245、位移器244与先进先出寄存器242接收到来自从属元件100的未确认信号 Am时,未确认中断状态寄存器235会提供第二中断信号至微控制器210。在此实施例中,接脚PINl是由方向控制器245所控制的双向接脚。方向控制器245可将来自接口单元230的信号经由接脚PINl传送至从属元件100。此外,方向控制器245亦可经由接脚PINl接收来自从属元件100的信号,并通过先进先出寄存器243将所接收的信号传送至接口单元230内所对应的寄存器。在此实施例中,微控制器可根据一软件或是一固件来编程接口单元230内的寄存器,以便能弹性地控制串行数据信号SDA的格式而与支持不同I2C规格的从属元件进行通讯。图3是显示描述符合I2C总线规格的不同指令的串行数据信号SDA的格式表300。同时参考图2与图3,若集成电路200使用快速(Quick)指令对从属元件100执行写入操作时,集成电路200会通过接脚PINl依序传送起始信号S以及地址信号IDw至从属元件100。接着,集成电路200会经由接脚PINl接收到来自从属元件100的确认信号As。接着,集成电路200会通过接脚PINl传送结束信号P至从属元件100,于是完成了快速指令的写入操作。此外,若集成电路200使用快速指令对从属元件100执行读取操作时,集成电路200会通过接脚PINl依序传送起始信号S以及地址信号IDr至从属元件100。接着,集成电路200会经由接脚PINl接收到来自从属元件100的确认信号As。接着,集成电路200会通过接脚PINl传送结束信号P至从属元件100,于是完成了快速指令的读取操作。若集成电路200使用字节(Byte)指令对从属元件100执行写入操作时,集成电路200会通过接脚PINl依序传送起始信号S、地址信号IDw以及命令信号CMND至从属元件100。接着,集成电路200会经由接脚PINl接收到来自从属元件100的确认信号As。接着,集成电路200会通过接脚PINl传送结束信号P至从属元件100,于是完成了字节指令的写入操作。再者,若集成电路200使用字节指令对从属元件100执行读取操作时,集成电路200会通过接脚PINl依序传送起始信号S以及地址信号IDr至从属元件100。接着,集成电路200会经由接脚PINl接收到来自从属元件100的数据信号DATA0。接着,集成电路200会通过接脚PINl传送未确认信号 Am以及结束信号P至从属元件100,于是完成了字节指令的读取操作。值得注意的是,格式表300仅是个例子,并非用以限定本发明。图4是显示根据本发明一实施例所述的串行数据信号SDA的分组400。参考图2与图4,分组400是由微控制器210根据一软件或是一固件对接口单元230内的寄存器进行编程而得到。在分组400中,字段402包括起始信号S。接着,字段404包括地址信号ID。接着,字段406包括读取信号R或写入信号W。接着,字段408包括方向指示信号Dir,用以指示后续的数据信号DATA、确认信号As或是未确认信号 Am的传送方向。接着,字段410包括数据信号DATA。接着,字段412包括确认信号As或是未确认信号 Am。接着,字段414包括重复的起始信号Sr。接着,字段416包括地址信号ID,其中字段416与404具有相同的地址信号ID。接着,字段418包括读取信号R或写入信号W。接着,字段420包括方向指示信号Dir,用以指示后续的数据信号DATA、确认信号As或是未确认信号 Am的传送方向。接着,字段422包括数据信号DATA。接着,字段424包括确认信号As或是未确认信号 Am。最后,字段426包括结束信号。在分组400中,字段408、410与412的信号传送方向是由字段406内的读取信号R或是写入信号W所决定。此外,字段420、422与424的信号传送方向是由字段418内的读取信号R或是写入信号W所决定。在一实施例中,字段402与414的信号是由微控制器210对起始控制寄存器231进行编程而产生。字段426的信号是由微控制器210对结束控制寄存器232进行编程而产生。字段404、406、408、410、416、418、420与422的信号是由微控制器210对地址/命令/数据寄存器233进行编程而产生。因此,根据分组400的格式,控制器210可根据软件或是固件来决定是否传送每一字段内的信号,以便弹性地控制与从属元件100之间串行数据信号SDA的通讯,因此具有较高的相容性。值得一提的是,不同的从属元件依不同的指令具有不同的数据信号格式。在现有技术中需先将系统中可能使用的从属元件其对应的数据信号格式预存于系统中,但若遇到所需使用的从属元件其对应的数据信号格式未被预存时,将导致此从属元件无法被操作。此时,只能以其他类似的从属元件进行取代,因此在使用上相容较差。然而,本发明的微控制器可根据软件或是固件来编程I2C总线控制器的寄存器,以便能弹性地修改控制数据信号格式,进而与支持不同的从属元件进行通讯。因此对于不同规格的从属元件而言,本发明在使用上具有较高的灵活度。虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,本领域的技术人员,在不脱离本发明的精神和范围的前提下可作若干的更动与润饰,因此本发明的保护范围是以本发明的权利要求为准。
权利要求
1.一种集成电路,用以控制一从属元件,包括: 一接脚; 一微控制器;以及 一内部集成电路总线控制器,耦接于上述微控制器以及上述接脚之间,包括: 一收发单元,经由上述接脚耦接于上述从属元件;以及 一接口单元,耦接于上述收发单元以及上述微控制器之间,包括: 一起始控制寄存器,其中当上述微控制器对上述起始控制寄存器进行编程时,上述起始控制寄存器经由上述收发单元而提供一起始信号至上述从属元件;以及 一停止控制寄存器,其中当上述微控制器对上述停止控制寄存器进行编程时,上述停止控制寄存器经由上述收发单元提供一停止信号至上述从属元件, 其中上述微控制器根据来自上述接口单元的一中断信号而对上述停止控制寄存器进行编程。
2.如权利要求1所述的集成电路,其中上述内部集成电路总线控制器还包括: 一确认中断状态寄存器,用以当经由上述收发单元接收到来自上述从属元件的一第一确认信号时,提供上述中断信号至上述微控制器, 其中上述从属元件根据上述起始信号而提供上述第一确认信号。
3.如权利要求2所述的集成电路,其中上述内部集成电路总线控制器还包括: 一未确认中断状态寄存器,用以当经由上述收发单元接收到来自上述从属元件的一第一未确认信号时,提供上述中断信号至上述微控制器, 其中上述微控制器还相应于上述中断信号而对上述停止控制寄存器进行编程, 其中上述从属元件根据上述起始信号而提供上述第一未确认信号。
4.如权利要求3所述的集成电路,其中上述内部集成电路总线控制器的上述接口单元还包括: 一数据寄存器,其中当上述微控制器对上述数据寄存器进行编程时,上述数据寄存器经由上述收发单元而提供一地址信号以及一读取/写入信号至上述从属元件, 其中在编程上述起始控制寄存器之后,上述微控制器对上述数据寄存器进行编程。
5.如权利要求4所述的集成电路,其中在上述数据寄存器提供上述读取/写入信号之后,上述微控制器对上述数据寄存器进行编程,以使上述数据寄存器经由上述收发单元而提供一命令信号或一第一数据信号至上述从属元件。
6.如权利要求5所述的集成电路,其中上述从属元件还根据上述地址信号、上述读取/写入信号、上述命令信号或是上述数据信号而提供一确认信号。
7.如权利要求5所述的集成电路,其中上述内部集成电路总线控制器的上述收发单元包括: 一第一先进先出寄存器,耦接于上述起始控制寄存器、上述停止控制寄存器以及上述数据寄存器,用以根据上述起始信号、上述停止信号、上述地址信号、上述读取/写入信号、上述命令信号或是上述第一数据信号,而产生一第一信息; 一第二先进先出寄存器,耦接于上述数据寄存器、上述确认中断状态寄存器以及上述未确认中断状态寄存器,用以根据来自上述从属元件的上述第一确认信号、上述第一未确认信号以及一第二数据信号,而产生一第二信息至上述接口单元;一第一位移器,用以经由上述接脚,而将来自上述第一先进先出寄存器的上述第一信息提供至上述从属元件;以及 一第二位移器,用以经由上述接脚,而将来自上述从属元件的上述第一确认信号、上述第一未确认信号以及上述第二数据信号传送至上述第二先进先出寄存器。
8.如权利要求7所述的集成电路,其中上述第二先进先出寄存器将对应于上述第一确认信号的上述第二信息传送至上述确认中断状态寄存器、将对应于上述第一未确认信号的上述第二信息传送至上述未确认中断状态寄存器,以及将对应于上述第二数据信号的上述第二信息传送至上述数据寄存器。
9.如权利要求3所述的集成电路,其中当上述微控制器对上述确认中断状态寄存器进行编程时,上述确认中断状态寄存器经由上述收发单元而提供一第二确认信号至上述从属元件,以及当上述微控制器对上述未确认中断状态寄存器进行编程时,上述未确认中断状态寄存器经由上述收发单元而提供一第二未确认信号至上述从属元件。
10.如权利要求1所述的集成电路,其中上述从属元件为内部集成电路从属元件。
11.一种控制方法,适用于一内部集成电路总线控制器,其中上述内部集成电路总线控制器耦接于一从属元件,上述控制方法包括: 藉由编程上述内部集成电路总线控制器的多个寄存器,以提供包括多个信号的一分组至上述从属元件,其中上述分组具有一特定格式,且上述分组的上述特定格式包括一第一起始信号以及一结束信号, 其中上述第一起始信号藉由编程上述内部集成电路总线控制器的一起始控制寄存器所产生,而上述结束信号藉由编程上述内部集成电路总线控制器的一结束控制寄存器所产生。
12.如权利要求11所述的控制方法,其中上述格式还包括介于上述第一起始信号与上述结束信号之间的一第一地址信号,其中上述第一地址信号藉由编程上述内部集成电路总线控制器的一数据寄存器所产生。
13.如权利要求12所述的控制方法,其中上述格式还包括介于上述第一地址信号与上述结束信号之间的一第一读取/写入信号,其中上述第一读取/写入信号藉由编程上述内部集成电路总线控制器的上述数据寄存器所产生。
14.如权利要求13所述的控制方法,其中上述从属元件在上述第一读取/写入信号以及上述结束信号之间提供一第一回应信号至上述内部集成电路总线控制器,其中上述第一回应信号为一确认信号或是一未确认信号。
15.如权利要求13所述的控制方法,其中上述格式还包括介于上述第一读取/写入信号与上述结束信号之间的一第一方向指示信号,其中上述第一方向指示信号藉由编程上述内部集成电路总线控制器的上述数据寄存器所产生。
16.如权利要求15所述的控制方法,其中上述格式还包括介于上述第一方向指示信号与上述结束信号之间的一第一数据信号,其中上述第一方向指示信号用以指示上述第一数据信号在上述内部集成电路总线控制器以及上述从属元件之间的传送方向。
17.如权利要求16所述的控制方法,其中上述从属元件在上述第一数据信号以及上述结束信号之间提供一第一回应信号至上述内部集成电路总线控制器,其中上述第一回应信号为一确认信号或是一未确认信号。
18.如权利要求11所述的控制方法,其中上述格式还包括介于上述第一起始信号以及上述结束信号之间的一第二起始信号,其中上述第二起始信号藉由编程上述内部集成电路总线控制器的上述起始控制寄存器所产生。
19.如权利要求18所述的控制方法,其中上述格式还包括介于上述第二起始信号与上述结束信号之间的一第二地址信号,其中上述第二地址信号藉由编程上述内部集成电路总线控制器的一数据寄存器所产生。
20.如权利要求19所述的控制方法,其中上述格式还包括介于上述第二地址信号与上述结束信号之间的一第二读取/写入信号,其中上述第二读取/写入信号藉由编程上述内部集成电路总线控制器的上述数据寄存器所产生。
21.如权利要求20所述的控制方法,其中上述从属元件在上述第二读取/写入信号以及上述结束信号之间提供一第二回应信号至上述内部集成电路总线控制器,其中上述第二回应信号为一确认信号或是一未确认信号。
22.如权利要求20所述的控制方法,其中上述格式还包括介于上述第二读取/写入信号信号与上述结束信号之间的一第二方向指示信号,其中上述第二方向指示信号藉由编程上述内部集成电路总线控制器的上述数据寄存器所产生。
23.如权利要求21所述的控制方法,其中上述格式还包括介于上述第二方向指示信号与上述结束信号之间的一第二数据信号,其中上述第二方向指示信号分别用以指示上述第二数据信号在上述内部集成电路总线控制器以及上述从属元件之间的传送方向。
24.如权利要求23所述的控制方法,其中上述从属元件在上述第二数据信号以及上述结束信号之间提供一第二回应信号至上述内部集成电路总线控制器,其中上述第二回应信号为一确认信号或是一未确认信号。
25.如权利要求11所述的控制方法,其中一微控制器根据上述分组的上述特定格式对上述内部集成电路总线控制器 进行编程,以使上述内部集成电路总线控制器产生上述分组至上述从属元件。
26.如权利要求11所述的控制方法,其中上述从属元件为内部集成电路从属元件。
全文摘要
一种使用内部集成电路总线的集成电路及其控制方法。该集成电路用以控制一从属元件。一收发单元经由一接脚耦接于一从属元件。一接口单元包括一起始控制寄存器以及一停止控制寄存器。当一微控制器对上述起始控制寄存器进行编程时,上述起始控制寄存器经由上述收发单元提供一起始信号至上述从属元件。当上述微控制器对上述停止控制寄存器进行编程时,上述停止控制寄存器经由上述收发单元提供一停止信号至上述从属元件。根据来自上述接口单元的一中断信号,上述微控制器对上述停止控制寄存器进行编程。
文档编号G06F13/24GK103077139SQ20131004246
公开日2013年5月1日 申请日期2013年2月1日 优先权日2013年2月1日
发明者张国航, 杨小露 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1