Connection establishment method, communication method, state change transmission method, state changing method, wireless apparatus, wireless device, and computer
Abstract
A wireless hub, connected to the USB bus of a computer, and a wireless port, connected to a USB interface of a peripheral device, are provided, and wireless communication is performed between the two. The wireless hub performs communication with the computer by converting a USB packet routed to a device into a wireless signal, and a wireless signal received from a device into a USB packet. The wireless port attached to each device also converts'a wireless signal into a USB packet and vice versa. While it is normal for a plurality of wireless ports to be connected to a single wireless hub, an arrangement of one wireless hub and a corresponding single wireless port is also possible. A wireless hub and a wireless port each have a device identifier assigned to them, and in the USB wireless conversion, a non-specific destination identified b a USB address and bus topology is converted into a device identifier. Inter-host communication is enabled by using th device identifier.
Term
No projected expiry on record.
- Priority
- Filed
- Granted
- Today
34 claims: 31 independent, 3 dependent
- 1一種用以建立一第一無線裝置與一第二無線裝置之連接的方法,該第一無線裝置與一電腦通訊,該方法包含下列步驟:因響應於收到一來自該第一無線裝置、表示和第一無線裝置之連接被允許的封包,而傳送一包括該第二無線裝置的識別器之連線請求封包;因響應於收到一包括和該電腦之一匯流排有關的匯流排資訊之連線允許封包,而傳送一預設的封包;和因響應於收到一不特定該第二無線裝置為一目的地的封包,而以該匯流排資訊設定該第二無線裝置。
- 2如申請專利範圍第1項之方法,尚包含如下之步驟:在該預設封包已被送出和因響應於收到一特定該第二無線裝置是一目的地的封包時,回到該傳送該連線請求封包的步驟。
- 3一種用以建立一第一無線裝置和一與一電腦通訊的第二無線裝置之連接的方法,該方法包含下列步驟:因響應於收到來自該第一無線裝置、包括該第一無線裝置之識別器的連線請求封包時,產生和該電腦之用於第一無線裝置的匯流排有關的第一匯流排資訊;傳送一包括該第一匯流排資訊的連線允許封包至該第一無線裝置上;因響應於收到來自該第一無線裝置的一預設封包時,以該識別器和該第一匯流排資訊設定該第二無線裝置;和若該電腦產生對應於該第一匯流排資訊的第二匯流排資訊時,以該第二匯流排資訊設定該第二無線裝置。
- 4如申請專利範圍第3項之方法,尚包含如下之步驟:若該預設封包未在該連線允許封包之後的預定時期內收到時,則傳送一指定該第一無線裝置為一目的地的封包,該第一無線裝置己經傳送出該連線請求封包。
- 5如申請專利範圍第3項之方法,其中在該預設封包已被收到之後由該第一無線裝置所發出的一週期性封包並不特定該已發出該連線請求封包的第一無線裝置為一目的地。
- 6一種用以使一和一電腦通訊的第二無線裝置與無線通訊中的第一無線裝置通訊的方法,該第一無線裝置係與一裝置通訊,該方法包含下列步驟:因響應於來自該電腦之用於該裝置的通訊請求,在一響應限期內發出一NAK信號至該電腦上,該NAK信號指示該特定的裝置尚未準備好執行處理;和發射該通訊請求到該第一無線裝置上。
- 7如申請專利範圍第6項之方法,尚包含如下之步驟:響應於和該通訊請求相同的請求,而接續地在該響應限期內發射該NAK信號至該電腦上,直到收到來自該第一無線裝置之響應為止。
- 8如申請專利範圍第6項之方法,當包含下列步驟:若該通訊請求是請求讀取該裝置之資料時,因響應於收到來自該第一無線裝置之資料而發射一預設封包至該第一無線裝置上;和因響應於和該通訊請求相同的請求而發射該收到的資料至該電腦上。
- 9如申請專利範圍第6項之方法,其中若該通訊請求是請求將資料寫入該裝置中時,要被寫入的資料會隨著該通訊請求而被發射到該第一無線裝置上。
- 10一種用以執行使一與一裝置通訊的第二無線裝置和第一無線裝置通訊的方法,該方法包含下列步驟:因響應於收到來自該第一無線裝置的資料讀取請求,而發射一讀取請求至該裝置上;因響應於收到來自該裝置的資料而將一預設的訊息送回該裝置;和將該資料發射到該第一無線裝置上。
- 11一種用以通知一與一電腦通訊的第一無線裝置的狀態變化給一第二無線裝置的方法,該方法包含下列步驟:因響應於收到來自該電腦的暫停指令而發射一暫停指令至該第二無線裝置上;在該暫停指令發射出去以後,發射一包括指示該第二無線裝置在一暫停狀態的狀態位元之週期性封包;和因響應收到來自該電腦的一重新開始指令而發射一包括一指示該第二無線裝置為一致能狀態的狀態位元之週期性封包。
- 12一種用以以和一第二無線裝置通訊的第一無線裝置執行一狀態變化的方法,該方法包含下列步驟:響應於收到一包括一指示該第一無線裝置是抑能狀態的狀態位元之週期性封包,而決定在該週期性封包被收到以前,是否已收到來自該第二無線裝置的預設指令;和若未收到該預設指令時,則改變該第一無線裝置的狀態為一不是已連接狀態的狀態。
- 13如申請專利範圍第12項之方法,其中該預設的指令是一埠暫停指令或是一抑能指令。
- 14一種用以建立一無線裝置與一電腦通訊連接的無線裝置,包含:一接收單元,用以接收來自該無線裝置的無線信號;一傳送單元,用以傳送一無線信號至該無線裝置;和一控制單元,用以因響應於該接收單元收到來自該無線裝置的一指出與該無線裝置之連線被允許的封包,而指示該傳送單元發射一連線請求封包、用以因響應於收到一來自該接收單元的連線允許封包而指示該傳輸單元發射一預設的封包,該連線允許封包包括和該電腦之匯流排相關的匯流排資訊,和用以因響應於該接收單元收到一封包、且封包並不特定該無線裝置為一目的地時,使用該匯流排資訊執行一設定作用。
- 15如申請專利範圍第14項之無線裝置,其中在該預設封包已被送出以後,和響應於該接收單元收到一特定該無線裝置為一目的地的封包時,該控制單元即指示該傳送單元傳送該連線請求封包。
- 16一種用以與一電腦通訊的無線裝置,包含:一接收單元,用以接收一無線信號;一傳送單元,用以傳送一無線信號;和一控制單元,用以因響應於該接收單元收到來自一無線元件的一包括該無線元件之識別器的連線請求封包時,產生和該電腦的一匯流排有關的第一匯流排資訊、用以指示該傳送單元發射一包括該第一匯流排資訊的連線允許封包至該無線元件上、用以因響應於該接收單元收到一來自該無線元件的一預設封包而使用該識別器和該第一匯流排資料來進行一設定操作、和用以當該電腦產生對應於該第一匯流排資訊的第二匯流排資訊時,使用該第二匯流排資訊執行一設定作用。
- 17如申請專利範圍第16項之無線裝置,其中若該接收單元在該連線允許封包被傳輸之後的一預設時期內沒有收到該預設封包時,該控制單元即會指示該傳送單元發射一特定該先前發射該連線請求封包的無線元件為一目的地的封包。
- 18如申請專利範圍第16項之無線裝置,其中一在該無線元件已收到該預設封包後,由該傳輸單元所發射的週期性封包未指定該先前已發射該連線請求封包的無線元件為一目的地。
- 19一種用以與一電腦通信的無線裝置,包含:一傳送單元,用以發射一無線信號至一與一裝置通訊的無線元件上;一接收單元,用以接收來自該無線裝置的無線信號;和一控制單元,用以因響應於來自該電腦之請求與該裝置通訊的請求時,在一響應時限內發射一NAK信號至該電腦,該NAK信號係表示該裝置尚未準備好執行處理過程,和用以指示該傳送單元發射該通訊請求至該無線元件上。
- 20如申請專利範圍第19項之無線裝置,其中該控制單元因響應於和該通訊請求相同的請求而接續地於該響應時限內發射該NAK信號至該電腦上,直到該接收單元收到來自該無線元件的響應為止。
- 21如申請專利範圍第19項之無線裝置,其中若該通訊請求是請求讀取該裝置之資料時,該控制單元會因響應於該接收單元收到來自該無線元件的資料,而指示該傳送單元發射一預設的封包至該無線元件上,和用以因響應於和該通訊請求相同的請求,而發射該收到的資料至該電腦上。
- 22一種用以與一裝置通訊的無線元件,包含:一接收單元,用以接收來自一無線裝置的一無線信號;一傳送單元,用以將一無線信號傳送到該無線裝置上;和一控制單元,用以因響應於該接收單元收到來自該無線裝置的讀取請求時,傳送一讀取請求至該裝置上、用以因響應於收到來自該特定裝置的資料,而將一預設的訊息送回該裝置。和用以指示該傳送單元發射該資料至該無線裝置上。
- 23一種用以與一電腦通訊的無線裝置,包含:一傳送單元,用以將一無線信號傳送到一無線元件上;和一控制單元,用以響應於收到來自該電腦的一暫停指令而指示該發射單元發射一暫停指令至該無線元件上、用以在該暫停指令傳送以後,指示該傳送單元發射一包括一表示該無線元件為一暫停狀態的狀態位元之週期性封包;和用以響應於收到來自該電腦的一重新開始的指令,指示該傳送單元發射一包括表示該無線元件在一致能狀態的狀態位元之週期性封包。
- 24一種用以與一無線裝置通訊的無線元件,包含:一接收單元,用以接收來自該無線裝置的一無線信號;和一控制單元,因響應於該接收單元收到一包括一表示該無線裝置被抑能的狀態之狀態位元的週期性封包,而決定在該週期性封包被接收之前是否已收到來自該無線裝置的一預設指令,和若未收到該預設指令時,用以改變該無線元件的狀態為不是一已連接狀態的狀態。
- 25一種具有一匯流排之電腦,包含:一用以控制該匯流排之匯流排控制器;和一與該匯流排連接之無線裝置,該無線裝置包括一接收單元,用以接收一無線信號;一傳送單元,用以傳送一無線信號;和一控制單元,用以因響應於該接收單元收到來自一無線元件的一包括該無線元件之識別器的連線請求封包時,產生和該電腦之用於該無線元件的一匯流排有關的第一匯流排資訊、用以指示該傳送單元發射一包括該第一匯流排資訊的連線允許封包至該無線元件上、用以因響應於該接收單元收到一來自該無線元件的一預設封包而使用該識別器和該第一匯流排資料來進行一設定操作、和用以當該匯流排控制器接收到對應於該第一匯流排資訊的第二匯流排資訊時,使用該第二匯流排資訊執行一設定作用。
- 26一種具有一匯流排之電腦,包含:一匯流排控制器,用以控制該匯流排;和一與該匯流排連接的無線裝置,該無線裝置包括:一傳送單元,用以將一無線信號傳送到一與一裝置連接的無線元件上;和一控制單元,用以因響應於來自該匯流排控制器之請求與該裝置通訊之請求時,在一響應時限內發射一NAK信號至該電腦,該NAK信號係表示該裝置尚未準備好執行處理過程,和用以指示該傳送單元發射該通訊請求至該無線元件上。
- 27一種具有一匯流排之電腦,包含:一匯流排控制器,用以控制該匯流排;和一與該匯流排連接的無線裝置,該無線裝置包括:一傳送單元,用以將一無線信號傳送到一與一裝置連接的無線元件上;和一控制單元,用以響應於收到來自該電腦匯流排的一暫停指令而指示該發射單元發射一暫停指令至該無線元件上、用以在該暫停指令傳送以後,指示該傳送單元發射一包括一表示該無線元件為一暫停狀態的狀態位元之週期性封包;和用以響應於收到來自該電腦的一重新開始的指令,指示該傳送單元發射一包括表示該無線元件在一致能狀態的狀態位元之週期性封包。
- 28一種用以建立一第一電腦與一第二電腦做無線通訊的方法,該方法包含下列步驟:響應於來自該第二電腦的指令,而致動一具有用於該第二電腦之匯流排的介面之第一裝置橋,和一用以儲存和該無線通訊有關的資料之緩衝器;響應於收到經由該第一電腦所使用的第一無線頻道、來自該第一電腦之表示允許與一裝置橋連接的封包,而經該第一無線頻道發射一包括和該第二電腦所使用的第二無線頻道有關的資料之連線請求封包至該第一電腦上;響應於收到經由該第一無線頻道、來自該第一電腦的一連線允許封包,而經該第一無線頻道發出一預設的封包至該第一電腦上;經該第二無線頻道發射一特定該第一電腦內的一第二裝置橋的封包,該第二裝置橋包括一用於該第一電腦的匯流排之介面,和一用以儲存和該無線通訊有關的資訊;響應於收到經該第二無線頻道、來自該第一電腦的連線請求封包,而經該第二無線頻道發射一連線允許封包至該第一電腦上;和響應於收到經該第二無線頻道、來自該第一電腦的一預設封包,而使用與該第一無線頻道有關的資料和與該第二電腦的該匯流排有關的第一匯流排資訊來執行設定作用。
- 29如申請專利範圍第28項之方法,尚包含如下之步驟:產生和該第一裝置橋有關的第二匯流排資訊。
- 30一種用以建立一第一電腦與一第二電腦做無線通訊的方法,該方法包含下列步驟:接收一包括和該第一電腦所使用的第一無線頻道有關的資料之連線請求封包;致動一第二裝置橋,該第二裝置橋包括一用於該第二電腦的匯流排的介面和一用以儲存和該無線通訊有關的資料之緩衝器;經由該第二無線頻道發射一連線允許封包至該第一電腦上;響應於收到經由該第一無線頻道、來自該第一電腦的用以指定該第二裝置橋的封包,而經該第一無線頻道發射一連線請求封包至該第一電腦上;響應於收到經由該第一無線頻道、來自該第一電腦之連線允許請求,發射一預設的封包;和響應於收到經由該第一無線頻道、來自該第一電腦之未指定該第二裝置橋的封包,使用和該第一無線頻道有關的資料和與該第二電腦的匯流排有關的第三匯流排資訊來執行一設定作用。
- 31如申請專利範圍第30項之方法,尚包含下列步驟:產生和該第二裝置橋有關的第四匯流排資訊;
- 32一種用以執行與一第一電腦的無線通訊之無線裝置,該無線裝置與一第二電腦連接,該無線裝置包含:一接收模組,用以接收一無線信號;一傳送模組,用以發射一無線信號;和一控制模組,用以致動一第二裝置橋,該第二裝置橋包括一用於該第二電腦的匯流排的介面和一用以儲存和該無線通訊有關的資料之緩衝器;響應於該接收模組經該第一電腦所使用的第一無線頻道收到允許和一裝置橋之連接的封包時,用以指示該傳送模組經由一第一無線頻道傳送一包括和該第二電腦所使用的第二無線頻道有關的資料之連線請求封包至該第一電腦上;響應於該接收模組經該第一無線頻道收到來自該第一電腦的連線允許封包時,用以指示該傳送模組經該第一無線頻道發射一預設封包至該第一電腦上;用以指示該傳送模組經該第二無線頻道發射一特定該第一電腦內的第一裝置橋之封包,該第一電腦具有一用於該第一電腦的匯流排之介面和一用以儲存和該無線通訊有關的資料之緩衝器;用以響應於該接收模組經由該第二無線頻道接收來自該第一電腦的連線請求封包,而指示該傳送單元經由該第二無線頻道發射一連線允許封包至該第一電腦;和響應於經由該第二無線頻道收到來自該第一電腦的預設封包時,使用和該第一無線頻道有關的資料和與該第二電腦之匯流排有關的第一匯流排資訊來執行一設定作用。
- 33一種用以執行與一第一電腦的無線通訊之無線裝置,該無線裝置與一第二電腦連接,該無線裝置包含:一接收模組,用以接收一無線信號,該接收模組經由該第二電腦使用的第二無線頻道接收來自該第一電腦之一包括與該第一電腦使用的第一無線頻道有關的資訊之連線請求封包;一傳送模組,用以傳送一無線信號,該傳送模組經由該第二無線頻道傳送一連線允許封包至該第一電腦;和一控制模組,用以致動一第二裝置橋,該第二裝置橋包括一用於該第二電腦的匯流排的介面和一用以儲存和該無線通訊有關的資料之緩衝器;響應於該接收模組經該第一無線頻道收到一特定來自該第一電腦的第二裝置橋時,指示該傳送模組傳送一連線請求封包至該第一電腦;用以響應於該接收模組經該第一無線頻道收到來自該第一電腦的一連線允許封包,而指示該傳送單元經該第一無線頻道傳送一預設封包;和用以響應於該接收模組經該第一無線頻道收到來自該第一電腦之未指定該第二裝置橋的封包時,使用和該第一無線頻道有關的資料和與該第二電腦之匯流排有關的第三匯流排資訊來執行一設定作用。
- 34一種用以進行與一第二電腦之無線通訊的電腦,包含:一接收模組,用以接收一無線信號;一傳送模組,用以發射一無線信號;和一控制模組,用以致動一裝置橋,該裝置橋包括一用於該電腦的匯流排的介面和一用以儲存和該無線通訊有關的資料之緩衝器;響應於該接收模組經該第二電腦所使用的第二無線頻道收到來自該第二電腦之允許和一裝置橋之連接的封包時,用以指示該傳送模組經由該第二無線頻道傳送一包括和該電腦所使用的無線頻道有關的資料之連線請求封包至該第二電腦上;響應於該接收模組經該第二無線頻道收到來自該第二電腦的連線允許封包時,用以指示該傳送模組經該第二無線頻道發射一預設封包至該第二電腦上;用以指示該傳送模組經該無線頻道發射一特定該第二電腦內的第二裝置橋之封包,該第二電腦具有一用於該第二電腦的匯流排之介面和一用以儲存和該無線通訊有關的資料之緩衝器;用以響應於該接收模組經由該無線頻道接收來自該第二電腦的連線請求封包,而指示該傳送單元經該無線頻道發射一連線允許封包至該第二電腦;和響應於經由該無線頻道收到來自該第二電腦的預設封包時,使用和該第二無線頻道有關的資料和與該電腦之匯流排有關的第一匯流排資訊來執行一設定作用。
Independent claims34
165 paragraphs, as filed
Connection establishment method, communication method, state change transmission method, state change method, wireless device and computer
The present invention relates to a radio communication method, and more particularly to a method for connecting a device to a USB (Global Serial Bus) for use by a wireless computer. The present invention also relates to a method for enabling internal host communication in a wireless USB.
The USB system is specified as a standard "point-to-multipoint" interface, which enables a computer and low- and medium-speed devices (such as a mouse, a keyboard, and a printer). Traditionally, when using USB, the connection destination of each device must be selected, such as a keyboard port for a keyboard, a mouse port for a mouse, a printer port for a printer, or A serial port used for a modem, so a USB device only needs to be connected to one USB port. In addition, since USB supports hot plug & no plug functions, its connection can be easily changed even when the computer is in use. However, in a mobile notebook computer and PDA (Personal Digital Assistant) environment, even a USB cable connection will cause a heavy load on the user. In addition, damage to the connector on the host computer side may also be caused by inserting and removing the connector on the device side. Therefore, in a mobile environment, it is best to use a wireless connection.
The current wireless communication system basically uses the wireless LAN IEEE 802.11 standard and the IrDA communication method. The IEEE 802.11 standard is mainly designed to communicate between computers and peripheral devices. The design of IrDA assumes that it can be used in point-to-point connections instead of point-to-multipoint connections, such as USB connections. The USB is regarded as a main interface for future devices connected to a PC (Personal Computer), and it is assumed that it can be used in many devices. If a wireless USB can be provided, it can constitute a device that is very easy to connect with peripheral devices.
IBM TDB Vol. 40 No.04 (April 1997) pages 87-88 teaches a wireless USB. However, this reference does not consider the problems that will occur with wireless USB. In IBM TDB Vol. 37 No.04B (April 1994), pages 91-93 are disclosed a method for connecting a wireless module with a traditional bus in a computer, and for enabling the wireless module to connect to a traditional bus in a computer. The module and a system connected with the peripheral devices of the bus. However, in this reference, there is no mention of the problems caused by a wireless USB.
A system structure for a USB is used to enable a computer to manage all devices connected to the USB, and perform polling to obtain the communicated data and detect changes in status. It is necessary to be able to find solutions to the following four problems in order to provide a compatible wireless system structure.
(1) Assignment of packet destination
The destination of a USB packet is specified by using a USB address or unspecified bus topology (which can be dynamically changed according to the structure of an existing device). When wireless communication is used, the address in one system may be the same as the address of another system, and because it is difficult to estimate a limited bus topology, it is necessary to determine the unique destination of a packet It is difficult.
(2) A response time limit
According to the USB specification, a device that receives a packet from a main or functional device is required to send a response within a 16-bit time period (1.33 μs when operating at full speed). However, because the wireless communication speed is usually lower than the USB full speed (12Mbps), and in many cases a mechanism to avoid collisions is required, it is difficult for the above-mentioned bus turning time to meet this time requirement.
(3) Synchronization of frame
In order to synchronize with the USB frame of the computer, a SOF packet is sent out every 1ms. The SOF packet must be transmitted exactly at the beginning of the frame, but because of environmental changes, it is difficult to set a wireless transmission time so accurately. In addition, when the communication speed is very low, transmitting a synchronous packet every 1ms will It will constitute a large load on a communication channel.
(4) Control provided by the state of the signal line
Packets are not applied to USB for port control functions, such as connection, disconnection, pause, restart, and reset functions, and the port control function is executed as a notification of steady-state changes in the signal line state. The method cannot be used in wireless communication.
The above-mentioned problems have not been considered and there is no intention to produce a wireless USB that has considered the above-mentioned problems.
Therefore, one objective of the present invention is to provide a method for solving the aforementioned wireless USB problem.
Another object of the present invention is to use a wireless USB to remove the load caused by the need to make a cable connection, and to facilitate disconnection and movement of the device.
Another object of the present invention is to extend a wireless USB and provide a mechanism for enabling main internal communication.
According to the present invention, there is provided a wireless hub connected to the USB bus on the computer side and a wireless port connected to the USB interface of a peripheral device (usually this can be applied to any device, and only one device will be described later. ), and do wireless communication between these two components. The wireless hub communicates with the computer, and converts USB packets sent to a device (hereinafter, a routing direction is sometimes referred to as downstream) into a wireless signal, and the wireless signal received from the device is sent to In a USB packet. The wireless port connected to each device also converts a wireless signal into a USB packet, and vice versa. Although there are usually many wireless ports connected to a single wireless hub, it is also possible to configure a wireless hub and a single wireless port. A wireless hub and a wireless port each have a device identifier (ID) that is uniquely assigned to them, and in USB-wireless conversion, the destination specified by a USB address or bus topology is converted Into a device identifier.
For example, a two-way buffer is provided in a wireless center, which functions as a substitute, and sends a response according to a received packet type and the status of a buffer. The USB packets received from the computer connected to the wireless hub are stored in the buffer and sent out when the wireless medium is available. A wireless port converts the received radio packet into a USB packet again and transmits it to a connected device. The response from the device is converted into a radio packet, which is then transmitted to the wireless hub and stored in a buffer within it. When the wireless hub is circled by the computer for the same content, the wireless hub will read the response from the device from the buffer. On the wireless hub, during the period from receiving the first USB packet to receiving the radio packet from the downstream, all communication request (IN/OUT) transactions directed to the same destination are ignored, and a NAK signal is ignored. Send it back to the computer to indicate that the device is not ready for processing. However, it should be noted that the SETUP transaction is fixedly transmitted to the wireless connection, and the ACK signal is sent back to the computer. The time pause within the USB can be avoided by using the processing sequence described above.
The wireless hub periodically broadcasts a packet indicating the port status, and controls the operation of the wireless port, while at the same time, it can maintain the synchronization of the frame in the wireless system. On the other hand, when the device status changes, such as connecting, disconnecting, or remote wake-up, a wireless port will send a status change notification to the wireless hub as a response to this packet. The length of a packet cycle is set to be long enough so as not to cause excessive load on a communication channel, and it is set to be short enough not to affect the control of the port. The change in transmission time is allowable within a certain period because it needs to coexist with a collision avoidance mechanism. In order to compensate for the uncertainty related to the transmission time, a time shift with a planned transmission time is specified in a packet. A wireless port transmits a synchronous packet based on its internal timing, and uses periodic packets to adjust the cycle shift related to the computer. A port control command (such as reset or pause) from the computer is sent from the wireless hub in the form of a wireless packet, and the wireless port converts the command into a USB signal line status packet. The notification of the USB signal line status is relayed by using the periodic packet and wireless control packet.
The system of the present invention provides two power-saving states: a port power-off state and a state equivalent to a suspended state. When the power of the port is disconnected, the wireless port will receive a periodic packet after every several transactions. In the suspended state, the wireless port will receive a periodic packet after each transaction and determine the Whether the wireless hub can be connected to the device, or whether the state should be changed to a restart state. During a period in which a periodic packet is not expected to be received, a power-saving device will suspend the supply of circuits to all circuits except those that need to be synchronized. Therefore, power control can be performed by a computer, and a power saving mechanism required by a portable device can be obtained.
The outline of the present invention is as follows: When a second wireless device (basically connected to a peripheral device and a first wireless device communicating with a computer is established, the steps performed are: in response to receiving the One of the first wireless devices indicates that when a packet that allows connection with the first wireless device is allowed, a connection request packet including the identifier of the first wireless device is sent; in response to receiving the bus related to the computer, it contains bus information (Basically the number of ports) when the connection allows packets, send a default packet (basically an ACK signal); and in response to receiving a non-specific second wireless device as a destination packet, use the bus The information is arranged to perform a setting (for example, corresponding to the port number of the identifier of the first wireless device). In this way, after confirming that the communication process has been executed, the second wireless device can identify the currently connected wireless device.
In addition, after the predetermined packet has been transmitted and a response has been received with a specific second wireless device as a receiving destination, the operation can return to the step of transmitting the connection request packet. This means that the first wireless device did not receive the scheduled packet, and the connection process must be performed again.
When the connection between the first wireless device communicating with a computer and the second wireless device (basically connected to a peripheral device) is established, the following steps are performed: In response to receiving a message from the second wireless device, including: In the connection request packet of the identifier of the second wireless device, the first bus information (basically the number of ports) related to the bus of the computer used for the second wireless device is generated; one includes the first bus The connection of the bus information allows the packet to be transmitted to the second wireless device; in response to receiving a preset packet (basically an ACK signal) from the second wireless device, the identification data and the first bus information are used Perform a setting (such as registering some data); and if the computer generates second bus information corresponding to the first bus information (in one embodiment, it is a USB address), then use the second bus information Perform a setting (for example, register the identifier and the first and second bus information). Therefore, the data required for communication between the computer and the second wireless device can be registered in relation to each other.
In the above example, when a predetermined packet is not received within a predetermined period of time after the connection allows the packet to be transmitted, a packet designated as the destination for the second wireless device to transmit the connection request packet can be transmitted. The last step will not be executed, even if the connection request has been sent, because it is assumed that a problem has occurred at this time. The second wireless device is specifically designated as a destination in a package to check the operation status.
The periodic packet transmitted after the preset packet has been received from the second wireless device may not be specified as the destination for the second wireless device to transmit the connection request packet. This is because the second wireless device has been notified that the first wireless device The device can receive this preset packet.
When a first wireless device communicating with a computer communicates with a second wireless device communicating with a device (basically a peripheral device), the following steps are performed: In response to the communication with the device from the computer Send a NAK signal (indicating that the device is not ready to perform processing) to the computer within a response limit; and send the communication request to the second wireless device. Therefore, the response limit defined by the computer's bus can be overcome.
The following steps can be performed: In response to the same request as the communication request, continuously transmit the NAK signal to the computer within the response limit until a response from the second wireless device is received. This is an effective way to avoid the bus suspension if the transmission of multiple NAK signals is allowed.
In addition, if the communication request is to read data from the device, the following steps can be performed: in response to receiving the data from the second wireless device, send a preset packet to the second wireless device; and respond and communicate When requesting the same request, send the received data to the computer. Since the buffer is used, the data retrieved from the device can be output as a response to the same communication request as the previous request.
If the communication request is for writing data into the device, the written data can be sent to the second wireless device along with the communication request. If the communication request and the written data are contained in separate packets, there will be a time lag in the wireless communication.
When a first wireless device communicating with a device communicates with a second wireless device, the following steps are performed: in response to receiving a data read request from the second wireless device, a read request is sent to the device ; In response to receiving data from the device, a preset message (basically an ACK signal) is sent back to the device; and the data is sent to the second wireless device. Since the period of transmitting a predetermined packet is determined by the specifications of a computer bus, the second wireless device must replace the computer to send a response to the device.
When a first wireless device communicating with a computer sends a status change notification to the second wireless device, the following steps are performed: in response to receiving a pause command from the computer, a pause command is sent to the second wireless device ; After the pause command has been sent out, send a periodic packet that includes a status bit indicating that the second wireless device is in a paused state; and in response to receiving a restart command from the computer, The periodic packet is transmitted, and the packet includes a status bit indicating that the second wireless device is in an enabling state. Since the second wireless device only receives a periodic packet once, it has been moved to the pause state, so the non-periodical packet cannot be used to enable the second wireless device. Therefore, the port status bit of the periodic packet can be used.
When a second wireless device communicating with the first wireless device performs a state change, the following steps are performed: In response to receiving a periodic packet that includes a status bit indicating the state of the second wireless device being disabled When the periodic packet is received, it is determined whether a preset command from the first wireless device has been received; and if the preset command is not received, the status of the second wireless device is changed to not one. The status of the connection status. In this case, there will be a deviation in the wireless communication, and when the state returns to the power-off state, the next process will be easier to perform.
The default command can be a suspend command or a disable command.
The processing method of the present invention has been explained above, but it is also possible to construct a device for executing the processing method. In addition, the wireless device can be connected to the computer in an external grounding or internal grounding manner, and can also be connected to a USB interface of the device or installed inside the device.
When the first computer establishes a connection with the second computer in wireless communication, the steps performed are as follows: in response to a command from the first computer, actuate an interface with a bus for the first computer and The first device bridge (referred to as a DDB in this embodiment) of the buffer that stores data related to the wireless communication; When the channel is used as a connection packet, a connection request packet including data related to the first wireless channel used by the first computer is transmitted to the second computer via the second wireless channel; When the connection permission packet transmitted on the first wireless channel is transmitted, a preset packet (basically an ACK signal) is transmitted to the second computer via the second wireless channel; a specific in the second computer is transmitted via the first wireless channel A packet of a second device bridge in the second computer, the second device bridge including an interface related to the bus of the second computer and a buffer for storing data related to wireless communication; in response to receiving a packet from the second computer , When a connection request packet via the first wireless channel is transmitted, a connection permission packet is transmitted to the second computer via the first wireless channel; and in response to receiving a preset from the second computer via the first wireless channel When packetizing, use the data related to the first wireless channel and the first bus information related to the bus of the first computer (in this embodiment, it refers to the number of ports) for setting.
To establish a connection with the host computer, the above-mentioned first and second device bridges are provided, and the above-mentioned connection establishment process is performed twice, and separate communication channels are used. Therefore, when the communication between each host computer and its peripheral devices is established, the communication between the host computers can also be carried out. For example, when several people with their portable computers gather, they can use their own portable computers to communicate with each other without changing the configuration of the peripheral devices of these portable computers.
The above-mentioned first computer is still in the process of generating the second bus information (in this embodiment, a USB address) related to the first device bridge.
When the second computer establishes a connection with the first computer via wireless communication, the steps carried out are as follows: Receive a message related to the first wireless channel used by the first computer via the second wireless channel used by the second computer Data connection request packet; actuate a second device bridge (in this embodiment, a DDB) including an interface for the bus of the second computer and a buffer for storing data related to the wireless communication; response When receiving a packet from the first computer via one of the first wireless channels and specifying the second device bridge, send a connection request packet to the first computer via the first wireless channel; in response to the packet via the first wireless channel A connection from the first computer allows the packet, and a preset packet (basically an ACK signal) is sent; and in response to receiving a packet from the first computer via the first wireless channel without specifying the second device, Use the data related to the first wireless channel and the third bus information related to the bus of the second computer for setting.
The second computer is still in the process of generating the fourth bus information (in this embodiment, a USB address) related to the second device bridge.
Now that the processing method of the present invention has been explained, a device for executing the processing method can also be established. This device can be used as a wireless device and can be connected to a computer or integrated into the computer main body. In addition, the above processing can be performed by a program stored in a non-volatile memory device (such as a ROM) or a storage medium (such as a floppy disk).
<p>1Computer</p><p>3Wireless Hub</p><p>5Wireless port</p><p>7Device</p><p>9USB Controller</p><p>11Connector</p><p>13USB</p><p>15USB Interface Unit A</p><p>17Control Unit A</p><p>19Buffer</p><p>21Wireless Transceiver A</p><p>23Wireless Transceiver B</p><p>25Control Unit B</p><p>27USB Interface Unit B</p><p>29Connector</p><p>31USB</p><p>33USB Controller</p><p>51Computer A</p><p>53Computer B</p><p>55, 57USB</p><p>59Wireless Hub A</p><p>60DDBa</p><p>61Wireless Hub B</p><p>62DDBb</p><p>63, 65, 67, 69Wireless port</p>
Fig. 1 is a block diagram illustrating an embodiment of the present invention.
Fig. 2 is a schematic diagram illustrating an exemplary structure of a wireless packet.
FIG. 3 shows a flowchart of the processing performed when a wireless hub 3 is connected to a wireless port 5.
Fig. 4 shows a flow chart of the communication between the wireless hub 3 and the computer 1.
Figure 5 is a schematic diagram illustrating the movement of packets during wireless communication.
Figure 6 shows a flow chart of the pause/restart process.
Figure 7 shows a flow chart of the pause/restart process.
Figure 8 shows the functional block diagram when computers A and B are doing main internal communication.
Figure 9 shows a functional block diagram illustrating a DDB.
Figure 10 shows the processing flow chart of connection establishment when doing internal main communication.
Figure 11 shows the flow chart for internal main communication.
Fig. 1 shows an example of the configuration of a device according to the present invention. A wireless hub 3 is connected to a computer 1 through a connector 11, and a wireless port 5 is connected to a device 7 through a connector 29. The computer 1 includes a USB controller 9 connected to a USB 13, and the USB 13 is connected to the connector 11. The wireless hub 3 includes a USB interface unit A (15), a buffer 19, a control unit A (17), and a wireless transceiver A (21). The USB interface unit A (15) is connected to the buffer 19 and the control unit A (17), and the wireless transceiver A (21) is also connected to the buffer 19 and the control unit A (17). The buffer 19 and the control unit A (17) are also connected together. The device 17 includes a USB controller 33 which is connected to the USB 31. The USB 31 is connected to the connector 29. The wireless port 5 includes a wireless transceiver B (23), a control unit B (25), and a USB interface unit B (27). The wireless transceiver B (23) is connected to the control unit B (25), and The control unit B (25) is connected to the USB interface unit B (27). Although not shown in the figure, the USB interface units A and B are connected together. In addition, although only one wireless port 5 is shown in FIG. 1, there may be multiple wireless ports.
The CPU (not shown) in the computer 1 controls the USB controller 9 to transfer USB packets to the USB 13. The USB interface unit A (15) in the wireless hub 3 receives the USB packet, and transmits the content of the USB packet to the control unit A (17). The USB interface unit A (15) stores data in the buffer 19 as required. When the control unit A (17) receives the content of the USB packet from the USB interface unit A (15), the control unit A (17) will control the transmitter in the wireless transceiver A (21) and connect a wireless The packet is sent to the wireless port 5. The receiver in the wireless transceiver B (23) receives the wireless packets, converts them into electronic signals, and transmits this signal to the control unit B (25). The control unit B (25) retransmits the received content to the USB interface unit B (27), and then the USB interface unit converts the content into USB packets and transmits them to the USB 31. The USB controller 33 will execute a required process in response to a USB signal.
When the read command is output by a computer (for example), the USB controller 33 outputs a packet including data necessary for the USB 31, and the USB interface unit B (27) receives the USB packet. The control unit B (25) controls the wireless transceiver B so that the wireless packet sent by its transmitter has an appropriate form. The control unit B (25) functions as an alternative to sending a response (described below), which instructs the USB interface unit B (27) to output an ACK related to the USB packet. When the receiver in the wireless transceiver A (21) receives the wireless packet including data sent by the device 7, the receiver will notify the control unit A (17) that it has received the data and store the data In the buffer 19. The control unit A (17) is notified by the USB interface unit A (15) that a data read command with the same destination has been received by the USB controller 9, and the data address in the buffer 19 is sent to On the USB interface unit A (15). The USB interface unit A (15) reads the data at the address, and outputs the data to the USB 31 in the form of a USB packet.
Now that the configuration shown in FIG. 1 has been described, the processing methods required for a wireless USB will be described below using the components in FIG. 1.
(A) Wireless communication system
The wireless USB protocol does not depend on a specific adjustment system. For example, a direct sequence spread spectrum technology can be used for radio communication, and a CDMA method can be used to obtain several channels by sliding a spreading code.
Frequency: 2484Mhz
Bandwidth: 26MHz
Modulation type: π/4 shift QPSK
Expansion type: direct expansion
Expansion symbol: 11-bit barker type
Baseband signal speed: 2Mbps
Expanded modulation speed: 11Mbaud (millions of bows)
The above values are only examples.
(B) The structure of the wireless packet
The configuration of a wireless packet is shown in Figure 2. According to the instructions from the control unit, a suitable type of wireless packet is prepared and output by the transmitter of the wireless transceiver. The packet starts from the left side of Figure 2. In Figure 2, R represents a transient ramp time and the symbol of the beginning of the packet; BS is a bit synchronization signal; UW is a synchronization character; XID is a transmission source ID; RID is the ID of the transmission destination; PT is the type of a packet; DATA is the content of the transmitted data; CRC is a one-cycle residual check, which covers from XID to DATA; and EOP is the symbol of the end of the packet.
The package type PT is as follows: (a) Standard package
This packet type is used to transmit all USB packets generated by a device and the IN character (read command) from the computer 1. The bit indicated as a packet is a packet set to the packet type PT, and all the bits in the USB packet (starting with PID, followed by EOP) are encapsulated in DATA.
(b) Combined packet
A combined packet is a wireless packet used when an OUT or a SETUP characterization (a write or set command) in the USB and the following data is transmitted at the same time. The bit indicating that a packet is a combined packet is set to the packet type PT, and an OUT or a SETUP characterization and a USB data packet are included in the DATA.
(c) ACK packet
When a wireless packet has been correctly received, an ACK packet is transmitted. The ACK packet is used when the wireless port 5 receives a wireless control packet, when the wireless hub 3 receives a control data packet, or when the wireless hub 3 receives a data packet sent in response to an IN character. This ACK packet is not included in the DATA field.
(d) NAK encapsulation
A NAK packet is sent when the wireless port 5 is not ready for processing (even if a wireless packet has been received), the NAK packet is not included in the DATA field.
(e) Periodic packet
Periodic packets are used to connect a device, control the status of the port, and adjust the period of a USB frame. The delay time, device type, and port status are all included in the DATA field. The delay time represents the delay from the scheduled transmission time of a periodic envelope. The device type is used to identify the type of connectable device. The device type includes a low-speed device, a full-speed device, a hub, an internal main communication virtual device, and a device group. Devices can be registered as a group, and when only a certain group of devices should be connected, the group is specified. The port status field is a one-bit mapping. For each port, when the port is enabled, the setting value is "1", and in all other cases, the setting value is "0" (such as pause , Inhibit energy, disconnect, or power off). The port status bits are arranged in numerical order that is harmonized with the number of ports. It should be noted that bit 0 is used to describe the state of the wireless hub 3.
It is possible to provide a unit in the control unit A (17) of the wireless hub 3 to perform the process required to transmit a periodic packet and to periodically prepare the DATA field. This DATA is broadcast by the transmitter of the wireless transceiver A (21).
(f) Connection request packet
A connection request packet is used to request connection with the wireless hub 3, and it is transmitted in the form of a periodic packet response. The type of device connected to the port is written in DATA.
(g) Connection consent packet (connection permission packet)
A connection consent packet is used when the wireless hub 3 approves the connection of a device, and it is transmitted in response to a connection request packet. The number of logical ports in the wireless hub 3 is written into the DATA, and the number of ports is equivalent to the number of USB ports.
(h) Port status change packet
A port status change packet is used to notify the wireless hub 3 about the change of the hardware port status, and it is sent in response to a periodic packet. The DATA reflects the changes of port status, such as changes in connection status, port invalidity, pause, overcurrent, reset or completion of remote wake-up.
(i) Wireless control packet
A wireless control packet is used to transmit a control command from the wireless hub 3 to the wireless port 5. The control command is included in the DATA field.
(j) Control data packet
A control data packet is used to transmit control data from the device requested in the control command, and the control data is included in the DATA.
(C) Interference/collision avoidance process
Perform a specific interference/collision avoidance process during wireless transmission. In this embodiment, the wireless hub 3 or the wireless port 5 examines a designated identifier to identify the sender or receiver of a packet, and prevent receiving a packet from another system. In order to avoid packet collision, the CSMA/CA method is used in every transaction. In this embodiment, the wireless transceiver and the control unit cooperate and perform the following processes together.
1. Step 1
The control unit A (17) of the wireless hub 3 will make the wireless transceiver A (21) confirm whether a radio carrier is present or lacking before sending a new packet transaction. When a radio carrier exists, the control unit A (17) waits until its communication is terminated.
2. Step 2
When it is determined that there is a lack of a radio carrier, the control unit A (17) of the wireless hub 3 will activate a timer and make the radio transceiver A (21) monitor the radio carrier for a period of time. The time slot composition of the unit's back-off time.
The number of time slots is a random integer within a maximum withdrawal count. The maximum withdrawal is controlled according to the communication status, and its initial value is set to (for example) 8. In step 1, when the maximum withdrawal period or a longer period has passed because the previous carrier is missing, there is no need to monitor the carrier in this step.
3. Step 3
If it is determined in step 2 that a new carrier is missing, the wireless hub 3 (wireless data transmitter A (21)) starts to transmit a wireless packet.
4. Step 4:
When the wireless port 5 (wireless transceiver B (23)) has normally received the wireless packet and confirmed that the carrier has not seen the end of the previous packet end symbol EOP, the wireless port will start transmitting within the radio turn around time One response.
5. Step 5
The wireless port 5 (wireless transceiver B (23)) continues to transmit the bit synchronization pattern until the content of the response is determined. When the wireless packet to be transmitted is ready, the wireless port 5 starts to transmit a synchronization character UW.
6. Step 6
After the transmission of the wireless packet is completed, the wireless hub 3 does not receive a response within the turnaround time, and the wireless hub 3 transmits the wireless packet again. If no response is received (for example, after three wireless packet transmissions), the wireless hub 3 performs a disconnection process, which will be described below.
(D) Connection process
The connection method of wireless port 5 and wireless hub 3 is as follows. This article assumes that the wireless hub 3 is already operating, and the power of the wireless port 5 is turned off.
First, if the wireless port 5 finds that the device 7 is connected, the powered-on wireless port 5 will activate the receiver of the wireless transceiver B (23) (step 100 in FIG. 3). The control unit B (25) causes the USB interface unit B (27) to check whether the device 7 is connected. If it is confirmed that the device 7 is connected, the control unit B (25) activates the receiver. The control unit B (25) will search the channel to find a periodic packet transmitted by the wireless hub 3 in step 110 (step 120). The periodic packet sent by the wireless hub 3 uses the receiver ID (RID) and the device type included in the DATA to specify the device to be connected. If no specific device is designated, the RID is 0 (for example). Because of the search result, the wireless hub 3 to be connected can be determined according to the following priority (for example), and synchronization with the wireless hub 3 can be obtained.
(a) A wireless hub that has the highest signal strength and has transmitted periodic packets whose RID is equal to the device ID of wireless port 5.
(b) The wireless hub that has the greatest radio strength and has transmitted periodic packets indicating that the device can connect.
(c) The wireless hub that has the greatest signal strength and has transmitted the indicating device 7 that cannot be connected.
The receiver of the wireless transceiver B (23) informs the control unit B (25) about a received periodic packet and its signal strength, and the control unit B (25) determines the wireless hub to which it is to be connected. Then, the control unit B (25) instructs the wireless transceiver B (23) to synchronize its actions with the periodic packets of the wireless hub.
If in step 120, a periodic packet is not detected, the search continues. When the wireless hub 3 to be connected is determined and synchronized, the wireless port 5 will only receive the periodic packet and move to a power saving mode. Next, a transmission from another wireless hub is completely ignored. In order to save power consumption, the wireless port does not need to monitor every periodic packet it receives, but only monitors a few packets once.
When a periodic packet (step 140) shows that the device 7 can be connected to the wireless hub 3 after synchronization is achieved, the wireless port 5 sends a connection request packet to the wireless hub 3 (step 150). The connection request packet includes a device ID. The control unit B (25) is notified about the content of the periodic packet from the wireless transceiver B (23), and instructs to transmit a connection request packet. When the wireless hub 3 receives the connection request packet from the wireless port 5, the wireless hub 3 specifies the number of ports of the wireless port 5, and transmits a connection permission packet including the number of ports (step 160). Since the wireless hub 3 must manage the addresses of multiple wireless ports to be connected, an address management unit can be included in the control unit A (17). The one-address management unit can, for example, specify the number of ports (a device ID) of a device, and temporarily reserve this number. After receiving the connection permission packet, the wireless port 5 sends an ACK packet to the wireless hub 3 (step 170). The packet transmission performed at steps 150, 160, and 170 must be performed within the predetermined radio turnaround time.
The wireless port 5 that receives the connection request packet will reserve the wireless hub 3 and the device ID of the number of ports assigned to this wireless port 5. At this time, the device ID and port number have not been registered, because the ACK packet may not have been received by the wireless hub 3. On the other hand, the wireless hub 3 receiving the ACK packet from the wireless port 5 causes the address management unit to register the device ID and the number of ports in a table. This table can be set in the buffer 19 or the control unit A (17). If the wireless hub 3 does not receive the ACK packet, it will assume that the connection has not been approved. Next, a wireless port that previously sent a connection request packet is assigned to the RID of the next three periodic packets (for example).
When an ACK packet is received, the RID of the next periodic packet must not be sent by the wireless port that transmits the ACK packet (step 190). In other words, either another wireless port is designated as a transmission destination, or a specific device is not designated. When the wireless port 5 receives this type of periodic packet, it will register the device ID of the wireless hub 3 and the number of ports assigned to the wireless port 5 (step 200). Receiving such a periodic packet can confirm that the ACK packet has been received by the wireless hub 3 and the connection step has been completed.
When the ACK packet has been sent and a periodic packet is received next, and the wireless port 5 has designated itself as a transmission destination, it is assumed that the wireless hub 3 has not received the ACK packet and the connection step fails. Then the program control returns to step 150.
The wireless hub 3 and the wireless port 5 are connected together, but the computer 1 does not know the presence of the wireless port 5. Therefore, the flow in FIG. 4 starts after the flow in FIG. 3. In particular, the USB controller 9 of the computer 1 will periodically ask the wireless hub 3 about the status changes of the wireless hub 3 and the wireless ports (step 210). When there is no new entry in the table of the number of ports and device IDs, the USB interface unit A (15) replies with a message indicating that the change has been made (step 220). After receiving this message, the computer 1 queries the wireless hub 3 about the current port status (step 225). In order to make a response, the USB unit A (15) of the wireless hub 3 will send the current port status and the changes that have taken place back to the computer 1. When the USB controller 9 agrees to the change, it will transmit a cognitive signal to the wireless hub 3 (step 230). The recognition of this change is sent to the control unit A (17) via the USB interface unit A (15), and the control unit clears the state indicating the change. The USB interface unit A (15) sends a clear notification to the computer 1 (step 235). Then, the USB controller 9 of the computer 1 instructs to reset the wireless port related to the change (step 240). In response to the port reset instruction, the control unit A (17) of the USB interface unit A (15) will instruct to start the port. Next, the USB address 0 corresponding to the port number of the wireless port and the device ID related to the change are registered in the table. When the port has been reset, the control unit A (17) sends a signal notifying that the reset is complete to the USB interface unit A (15), and the USB interface unit A (15) sends a reset termination notification Go to computer 1 (step 245). Upon receiving this notification, the USB controller 9 of the computer 1 designates a USB address and transmits it to the wireless hub 3 (step 250). Upon receiving the USB address, the USB interface unit A (15) will transfer the USB address to the control unit A (17), and the control unit A (17) will replace it with the received USB address The USB address in the table is 0 (step 255). Therefore, the correspondence between the USB address, the number of ports, and the device ID can be formed.
(E) Transmission and reception of a USB packet
Since it is impossible to absolutely ensure the synchronization of the data transfer rate and the frame in wireless USB, only the control transfer, bulk transfer and interrupt transfer specified by the USB are supported. The flow that is executed when, for example, the IN characterization from the computer 1 is received will be explained with reference to FIG. 5. First, the USB controller 9 of the computer 1 transmits an IN characterization 400 to the USB interface unit A (15) of the wireless hub 3. The USB interface unit A (15) notifies the control unit A (17) of the received The type of the USB packet, and the USB packet is stored in the buffer 19. The USB interface unit A (15) sends a NAK packet 410 (USB packet) back to the USB controller 9. The reason for doing so is because since they have a wireless connection, the data cannot be returned immediately. The control unit A (17) confirms that the received USB packet is a read command and recognizes a destination device, and then instructs the wireless transceiver A (21) to transmit a standard wireless packet that includes the IN characterization from the USB packet 420 To the destination device. The transmission of this standard packet 420 is performed when a wireless medium is ready for use.
After the wireless transceiver B (23) of the wireless port 5 receives the standard packet 420, it transmits the packet to the control unit B (25). The control unit B (25) instructs the USB interface unit B (27) to establish an IN characterization 430, and then the USB interface unit B (27) outputs the USB packet to the USB controller 31 of the device 7. The device 7 sends back a USB packet 440 containing data DATA0 to the USB interface unit B (27) of the wireless port 5. The USB interface unit B (27) sends an ACK packet 450 back to the device 7 to avoid time suspension. In addition, the USB interface unit B (27) sends the received USB packet 440 to the control unit B (25). The control unit B (25) instructs the wireless transceiver B (23) to transmit a standard wireless packet 460. It should be noted that when no response from the device 7 is received within the USB bus rotation time after the IN characterization 430 is output, an empty standard packet is transmitted. The wireless transceiver A (21) of the wireless hub 3 receives the standard packet 460 from the wireless port 5, and transmits an ACK packet 470 to the wireless port 5. The wireless transceiver A (21) notifies the control unit A (17) that the standard packet 460 has been received, and stores the content of the packet 460 in the buffer 19.
Even during the period from the standard packet 420 to the ACK packet, when the IN signature 480 with the same destination is transmitted by the USB controller 9 of the computer 1, the wireless hub 3 only sends back a NAK packet 490 USB controller 9. This situation occurs because the wireless hub 3 has already transmitted the NAK packet once, and the traffic congestion on a communication channel may be worsened by the transmission of additional wireless packets. Therefore, the control unit A (17) of the wireless hub 3 must manage the individual wireless ports and packet types that have been transmitted to it.
When the IN token 500 with the same destination is received again after the ACK packet 700 has been output, the control unit A (17) will tell the USB interface unit A (15) the address in the buffer 19. The USB interface unit (15) reads a USB packet 510 from the buffer 19 and outputs it to the USB controller 9. In response to this, the USB controller 9 sends back an ACK packet 520.
To transmit an OUT character, the wireless hub 3 receives a USB packet including the data to be written, and transmits a radio combined packet to the wireless port 5. The wireless hub 3 sends back the NAK packet in the same manner as described above. When an OUT with the same destination indicates that the ACK packet from the wireless port 5 has been received and then sent by the computer 1, the wireless hub 3 will send back an ACK packet.
In addition, the wireless hub 3 will not send back a NAK packet in response to receiving a SETUP characterization. Therefore, the wireless hub 3 sends an ACK packet back to the computer 1, and each time it receives the SETUP characterization, it will send a new The method of communication data sends the characterization to the wireless port 5.
(F) Buffer
When the IN/OUT transaction in the USB allows the response of the NAK packet, an ACK packet must be sent back for the SETUP transaction. Therefore, it is better to do this SETUP transaction and IN/OUT transaction with separate buffers. The buffer 19 is composed of two buffers.
Since NAK response is allowed, the buffer used for IN/OUT transactions must be equipped with entrances, with only one entrance in each direction, such as to computer 1 and wireless port 5. A buffer requires a total of 68 bytes for the maximum packet length of 67 bytes and the number of ports. In fact, the size of the buffer is determined based on this unit, and its manufacturing cost and communication efficiency are considered.
Since an ACK packet must be replied during the SETUP transaction, the following streaming FIFO buffer is used. For each buffer entry, 15 bytes are needed for a representation (3 bytes), data (11 bytes) and a port number (1 byte). The number of entries required in this way can ensure that the total number of wireless transmissions of all SETUP packets can be as high as the port count × the control termination point count. But it should be noted that when considering the number of termination points in a device and the ratio of the SETUP transaction to the overall communication volume, it is appropriate that the buffer entry is approximately twice the port count. When the SETUP buffer is full, the wireless hub 3 will not send back the ACK, and will make the computer 1 assume that a transaction error has occurred.
(G) State change
The following will explain the processing flow of the state change of pause, restart and disconnection state.
(1) Pause and restart state
The status change is transmitted from the USB controller 9 of the computer 1 to the wireless hub 3 by means of the status change of the USB signal line. The destination of a wireless packet is changed according to the suspension of all ports connected to the wireless hub 3 and the suspension of a single port. The USB interface unit A (15) detects the state change of a signal line, and transmits it to the control unit A (17) in the form of a pause command (step 600 in FIG. 6). The control unit A (17) sends a command to the wireless transceiver A (21) to transmit a wireless control packet indicating a pause (step 610). After receiving the wireless control packet, the wireless transceiver B (23) will send the packet to the control unit B (25), where the unit B (25) instructs the USB interface unit B (27) to send the signal The state moves to the suspended state (step 620). In this way, the pause command can be transmitted to the device 7.
Next, the wireless hub 3 uses the bit mapping of the port status field of the periodic packet to indicate that the wireless port is in a suspended state (step 630), so that the wireless port 5 will only receive a periodic packet (step 640). ). Since in the pause state, wireless port 5 only receives periodic packets, the wireless port status field in this periodic packet will change to reflect a restarted state, so that computer 1 can restart the wireless port 5 (Step 650). Upon receiving the periodic packet, the control unit B (25) of the wireless port 5 will instruct the USB interface unit B (27) to change the signal line state to instruct to restart the minimum 20ms (step 660). Therefore, the device 7 connected to the wireless port 5 can resume its function.
When a device (such as a modem) is used as the device 7, a remote wake-up function can occur. When the USB interface unit B (27) receives the remote wake-up signal from the USB controller 33 of the device 7, the USB interface unit B (27) will change the state of the signal line so that it can also instruct to restart at least 20ms . When receiving the next periodic packet from the wireless hub 3 (step 685), the USB interface unit B (27) will transmit a port state change packet indicating that there is a restart state. When the port status change packet is received, the wireless hub 3 will instruct the USB interface unit A (15) to respond to the packet and send a message from the control unit A (17) to the computer 1 (step 700).
When the periodic packet reflecting the state change has changed to the restarted state is transmitted (for example, transmitted three times), the wireless hub 3 assumes that the operation of the permanent wireless port has been restarted, and sends a response to it according to this On computer 1. Therefore, the wireless port 5 can receive a standard wireless packet from the wireless hub 3, including an IN characterization. If the restart process has not been completed at this time, the wireless port 5 sends a wireless NAK packet back to the wireless hub 3.
(2) Disconnect
a) When the wireless port 5 detects that the device 7 connected to the wireless port 5 has been disconnected in response to a periodic packet, the wireless port 5 will send a port status change packet to the wireless hub 3 to notify it to disconnect Connect the situation and move the state to the power off state. The wireless hub 3 also changes the status of the sending port to the computer 1.
b) The same process can be performed when a user has set wireless port 5.
c) When the USB controller 9 of the computer 1 requests to stop supplying power to a wireless port, the wireless hub 3 will transmit a wireless control packet to the permanent wireless port. After receiving an ACK packet from the wireless port or after a period of pause, the status of the port changes to the disconnected state. When the wireless port 5 receives the wireless control packet indicating disconnection, it will send an ACK packet to the wireless hub 3 and clear the wireless hub registered in it.
d) For example, when three communication errors occur during a wireless transaction, the wireless hub 3 will disconnect the wireless port, and this disconnection will be reflected in the port status field in the periodic packet.
e) When the wireless port 5 cannot detect three-time periodic packets in a row, the wireless port 5 assumes that the connection with the wireless hub 3 has been broken, and moves the state to the power-off state. When the wireless port 5 is in the suspended state or disabled state, an incomplete synchronization system may cause the periodic packet to be lost. In this case, the port must be awakened to monitor all wireless packets within a certain period of time (e.g., a cycle equivalent to three periodic packets) in order to be synchronized again. If a periodic packet has not yet been detected, the process described above is performed.
f) When the port status in the periodic packet is changed to the disabled state, usually the wireless hub 3 has received the wireless control packet corresponding to a port suspend command or a port disable command. If such a command has not been received, it is assumed that the wireless port 5 has been disconnected from the wireless hub 3 due to a transaction failure. Then, the registration of the wireless hub 3 is cleared, and the wireless port 5 is changed to a power-off state.
Figures 8 to 11 will now be used to illustrate the internal main communication steps. The block diagram shown in Fig. 8 illustrates the structure when a computer A (51) communicates with a computer B (51). The computer A (51) is connected to the wireless hub A (59) via a USB 55. The wireless hub A (59) uses the above-mentioned method to communicate wirelessly with a wireless port 63 and a wireless port 65. A wireless channel A is used to communicate with the wireless port 63 and the wireless port 65. When the application at the computer A (61) sends out a connection establishment command to start the communication with the computer B (53), the wireless hub A (59) A DDBa (device-to-device bridge-a) 60 is logically generated and actuated. This DDBa will be described below. The computer B (53) communicates with a wireless hub B (61) via a USB 57, and the wireless hub B (61) communicates with a wireless port 67 and a wireless port 69 on a wireless channel B. The wireless hub B (61) logically generates and activates a DDBb (device-to-device bridge-b) 62, so that it can communicate with the wireless hub A (59). The function of DDBb62 is the same as DDBa60, and its content will also be described below. The DDBa60 and DDBb62 provide devices for communication between computer A (51) and computer B (53). A wireless channel B is used to transmit signals from DDBa60 to DDBb62, and wireless channel A is used for wireless transmission in the other direction.
Since the specific steps in the USB only control the communication between a host computer and a peripheral device, a communication method that makes a peripheral device respond to the circle selection of the host computer is used. Therefore, it is impossible for the host computers to communicate equally with each other over the USB, and it is not desirable to use a specific host computer as a peripheral device of another host computer, because the connection with the peripheral device of the specific host computer will be abandoned. Therefore, each host computer (referring to the wireless hub in this embodiment) is provided with the DDBa and DDBb. The internal host computer communication can be established by starting the wireless communication between the DDBa60 and DDBb62. Since DDBa60 and DDBb62 are used to communicate between computer A and computer B, another set of DDBs is needed to communicate with another computer. In this embodiment, the wireless hub logically generates and activates a DDB. However, the control unit A (17) in FIG. 1 can emulate the DDB, or can provide an appropriate number of hardware DDBs. In addition, since the wireless channels are separated as shown in Figure 8, not only the internal main communication, but the aforementioned communication between the main computer and peripheral devices can all be performed simultaneously.
Figure 9 shows a functional block diagram of DDB71. From the computer's point of view, since the DDB71 functions as a USB peripheral device, the DDB71 will have a USB interface 71a adjacent to the computer. The USB interface 71a responds to the circle selection made by the computer according to the USB protocol. In addition, the DDB 71 includes a wireless interface 71c for communicating with the wireless transceiver A (21) in the wireless hub 3 in FIG. 1. A buffer 71b is also needed to store the data in the period when the data from the computer is received, until the data is transmitted by the wireless transceiver A (21) in the form of a wireless signal, or to store the data in the continued period , Until the signal received from the transceiver A (21) is transmitted in response to the computer's circle selection. Any data structure can be used on the buffer 71b, and the buffer 71b can be divided into a part for transmission from the USB interface 71a to the wireless interface 71c, and a part for transmission in the other direction. In this embodiment, since DDB is a logic device using the control unit A (17), the buffer 71c is a part of the buffer 19.
Next, Fig. 10 illustrates the operation method of establishing a connection between computer A (51) and computer B (53). In this embodiment, it is shown when the application in computer A (51) has issued a connection command (step 800). When the connection command is issued, the wireless hub A (59) will generate and activate DDBa60, and specify the port number of DDBa60 (step 810). The DDBa60 usually has the same device ID as the wireless hub A (59), but it can be assigned a different ID. The wireless hub A (59) examines all wireless channels used for a packet sent from the wireless hub B (61). When a packet from the wireless hub B (61) is found, the wireless hub A (59) will Monitor the wireless channel B at the time when the periodic packet that is not the wireless hub A (59) is transmitted, and wait to receive a periodic packet (step 820). If it has not received a periodic packet from the wireless hub B (61) after monitoring for three or more cycles, the wireless hub A (59) will send the next cycle to its own system The timing of the sexual packet is delayed by a time length of 1/2 of the wireless frame. Before this process, the wireless hub A (59) will activate all wireless ports and issue a wireless control command to notify other components of the change in the transmission timing.
When wireless hub A (59) receives periodic packets from wireless hub B (61) via wireless channel B (step 830), wireless hub A (59) sends a connection request packet via wireless channel B, To indicate that it is the DDB of the USB system operating via wireless channel A (step 840). When the periodic packet from the wireless hub B (61) is not specified for a DDB connection, it is not necessary to transmit a connection request packet. The wireless hub B (61) outputs a connection permission packet via the wireless channel B (step 850). In order to be able to communicate between a wireless hub and a wireless port, a port number can be included in a connection permission packet, because the port number will be used as a reference when describing a state change with the bit mapping in the periodic packet . However, since notification of a state change is not always included in the main internal communication, whether the number of ports is included in the connection request packet is arbitrarily determined. The wireless hub A (59) previously received the connection permission packet sends an ACK back to the wireless hub B (61) via the wireless channel B (step 860). The wireless hub B (61) generates and activates DDBb 62, and assigns a port number to it (step 870). It should be noted that the generation and activation of DDBb62 can also be executed when a connection request packet is received.
After transmitting the ACK, the wireless hub A (59) will switch the channel to the wireless channel A used by its own system, and transmit a periodic packet via this channel, the packet including DDBb62 as its destination. The DDB can be specified as the destination receiving function by setting the wireless hub B (61) in the RID. The wireless hub B (61) that receives the ACK and periodic packets sends out a connection request packet via wireless channel A (step 890). Upon receiving the connection request packet, the wireless hub A (59) will transmit a connection permission packet on the wireless channel A (step 900). In response to the packet, the wireless hub B (61) transmits an ACK packet on the wireless channel A (step 910). When the wireless hub A (59) receives the ACK packet, it will select a DDB other than the DDBb62 for the next periodic packet (step 920). Therefore, when the periodic packet in which the wireless hub B (61) is not selected is received by the wireless hub B (61) via the wireless channel A, it can confirm that the ACK has been received by the wireless hub A (59). The wireless hub B (61) stores the device ID of the wireless hub A (59), the wireless channel, and the port number of the DDBb 62 in an interactive manner (step 930). The wireless hub A (59) stores and stores the device ID of the wireless hub B (61), the wireless channel B and the port number of the DDBa60 in an interactive manner (step 940). It should be noted that not all settings have been completed. DDBa60 and DDBb62 must be individually identified by computer A and computer B. To achieve this, the process shown in Figure 4 should be executed by the computer and the wireless hub.
Through the aforementioned processing flow, the USB address, wireless channel data, port number, and corresponding wireless hub ID have been registered in the wireless hub table in an interactive manner, and a connection is established at this time.
Next, FIG. 11 will be used to illustrate the process performed when the computer A sends a communication request to the wireless hub A (59). The wireless hub A (59) receives a communication request sent from the computer A (51) to the computer B (53) (step 1000), and sends a NAK packet to the computer A (step 1010). The wireless hub A (59) will find the wireless channel used by the wireless hub B (61) connected to the computer B (53), convert multiple channels to a permanent wireless channel, detect a carrier and only transfer one data The packet is transmitted to the wireless hub B (61) (step 1020). The communication request includes an OUT characterization and a data packet, but the OUT characterization is discarded. Since it may take some time to transmit the data packet to the wireless hub B after receiving the communication request, only the data packet is stored in the buffer of the DDBa60.
When the wireless hub B (61) receives the data packet, it will interfere with the downstream packet used for internal main communication, and store the packet data in the buffer of DDBb62 corresponding to the transmission source ID (step 1030). This term for downstream transmission is used to identify transmissions from a wireless hub, and upstream transmission is used to identify transmissions intended to a wireless hub. In this case, since the data packet is transmitted by the wireless hub A (59), its transmission direction is downstream. And since normally, the transmission from a wireless port is sent to a wireless hub, so its transmission direction is upstream, so it can be distinguished from other types of transmission. When the data packet is stored in the buffer of DDBb62, the wireless hub B (61) will send an ACK to the wireless hub A (59) (step 1050). When the buffer is full and the data packet cannot be stored, a NAK will be sent to the wireless hub A (59).
When the wireless hub A (59) that previously received the ACK receives the same command from the computer A (51) with the same destination, the wireless hub A (59) will send an ACK to the computer A (59) (Step 1040). The wireless hub B (61) sends out the received data packet in response to the circle selected by the computer B (53) (step 1060), and when the computer B (53) receives the data packet, it sends out a ACK is sent to the wireless hub B (61), and the wireless hub B (61) will release the buffer in which the data packet is stored in response to the ACK (step 1070).
In the computer-related process performed by the wireless hub in FIG. 11, DDB is used as a device to be connected to the USB.
Because the DDB uses a different wireless channel than the one used for communication with the wireless port in order to be able to do internal main communication, the DDB cannot monitor the periodic packets used for the wireless hub in real time. Therefore, packets sent by other DDBs are used to maintain a connection. The unused connection in a preset or longer time communication is disconnected by the host computer. This period can be arbitrarily set. A USB system in which the connection for main internal communication is extended cannot be set to a suspended state. DDB will perform a disconnect operation when receiving a port pause command. When a system is paused, all connections will be disconnected. In this embodiment, the internal main communication connection will be disconnected under the following conditions: (a) when the USB host computer issues a disconnect command; (b) when a user performs a reset; (c) when When there are three consecutive errors in a wireless transaction; (d) when the wireless hub or wireless port is suspended; and (e) when there is no communication action for a preset period of time or longer.
The disconnect command issued by a host computer is transmitted to another host computer using a wireless control packet. Therefore, the other host computer also performs the disconnection process. In other cases, the disconnection action is not transferred to another system. This other system will be disconnected due to errors in a continuous transaction or when there is no communication action. During the suspension, a disconnected DDB cannot be used again.
Because of the above configuration method, a network can be established in a fairly easy way, and a host computer can be specified in the same way as the access to the device. In addition, since communication only occurs between directly connected host computers, communication will be limited to the range of signals generated in the network. For communications outside this range, another host computer can be used as an intermediate host computer, which can be achieved by implementing a higher-level agreement and not changing any part of the above configuration. The higher-level device driver is responsible for maintaining the topography of the bus and the routing of the communication, and must specify the specific address that actually exists in the internal USB host computer communication network.
The foregoing embodiment is only an example, and the present invention is not limited to this embodiment. The wireless hub 3 and the wireless port 5 can be divided into arbitrary blocks to perform the aforementioned processing. In addition, although the computer 1 has only one USB connector, it can also have multiple connectors. Furthermore, although the wireless hub 3 in FIG. 1 is located outside the computer 1, it can also be located inside the computer 1. Similarly, although the wireless port 5 is provided outside the device 7, it can also be provided inside the device 7. In addition, the control unit and the USB interface unit can be replaced by a microcontroller and a program.
The number of DDBs and the number of wireless ports shown in FIG. 8 are arbitrary, and the number of computers can also be increased. The functional blocks used for DDB can also be provided arbitrarily, and are limited to those shown in FIG. 9. Even if the execution timing and actuation processing of the DDB generated in FIG. 10 are not as shown in FIG. 10, it will not affect the connection process. For example, DDBb62 on computer B can be generated and activated between steps 830 and 850.
The values used in this embodiment are only examples, and they will change when the method of the embodiment changes.
Advantages of the invention
A method can be provided to solve the problems caused by the use of a wireless USB bus.
The load on a user and other problems related to the connection of a cable can be eliminated by using a wireless USB, and it is helpful for the detachment and movement of a device.
It can also provide a configuration that can enable the internal host computer's wireless USB communication.
7 members in 4 offices
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 280214 | Japan | – | |
| 28021497 | Japan | A |
Members7
| Document | Office | Kind | |
|---|---|---|---|
| KR19990023310A | Republic of Korea | A | |
| JPH11112524A | Japan | A | |
| TW363313BThis record | Taiwan Province of China | B | |
| JP3045985B2 | Japan | B2 | |
| KR100306547B1 | Republic of Korea | B1 | |
| US2003043771A1 | United States of America | A1 | |
| US6603744B2 | United States of America | B2 |
1 legal event, as the office reported them to INPADOC
Events
| Event | Code | |
|---|---|---|
| Expiration of patent term of an invention patentMK4A | MK4A |
Numbers
- Publication
- 363313
- Application
- 87106123
Titles4
- Chinese
- 建立連接方法、通信方法、狀態變化傳送方法、狀態變化方法、無線裝置以及電腦
- English
- CONNECTION ESTABLISHMENT METHOD, COMMUNICATION METHOD, STATE CHANGE TRANSMISSION METHOD, STATE CHANGING METHOD, WIRELESS APPARATUS, WIRELESS DEVICE, AND COMPUTER
- Unlabeled
- 建立連接方法、通信方法、狀態變化傳送方法、狀態變化方法、無線裝置以及電腦
- Unlabeled
- Connection establishment method, communication method, state change transmission method, state change method, wireless device and computer
Classification
- IPC, 1
- H04L12 00