| поискавой системы для электроныых деталей |
|
CS5535 датащи(PDF) 120 Page - National Semiconductor (TI) |
|
|
|
|||||||||||||||||||||||||||||
CS5535 датащи(HTML) 120 Page - National Semiconductor (TI) |
|
120 / 555 page ![]() www.national.com 120 Revision 0.8 SMB Controller Functional Description (Continued) 3) If SMBCTL1.STASTRE is set and the transaction was successfully completed (i.e., both SMBST.BER and SMBST.NEGACK are cleared), the STASTR bit is set. In this case, the SMB Controller stalls any further bus operations (i.e., holds SCL low). If SMBCTL1.INTEN is set, it also sends an interrupt request to the host. 4) If the requested direction is transmit and the START transaction was completed successfully (i.e., neither SMBST.NEGACK nor SMBST.BER is set, and no other master has arbitrated the bus), SMBST.SDAST is set to indicate that the SMB Controller awaits atten- tion. 5) If the requested direction is receive, the START trans- action was completed successfully and SMBCTL1.STASTRE is cleared, the SMB Controller starts receiving the first byte automatically. 6) Check that both SMBST.BER and SMBST.NEGACK are cleared. If SMBCTL1.INTEN is set, an interrupt is generated when either SMBST.BER or SMBST.NEGACK is set. Master Transmit After becoming the bus master, the device can start trans- mitting data on the bus. To transmit a byte in an interrupt or polling controlled oper- ation, the software should: 1) Check that both SMBST.BER and SMBST.NEGACK are cleared, and that SMBST.SDAST is set. If SMBCTL1.STASTRE is set, also check that the SMBST.STASTR is cleared (and clear it if required). 2) Write the data byte to be transmitted to SMBSDA. When either SMBST.NEGACK or SMBST.BER is set, an interrupt is generated. When the slave responds with a negative acknowledge, SMBST.NEGACK is set and SMBST.SDAST remains cleared. In this case, if SMBCTL1.INTEN is set, an interrupt is issued. Master Receive After becoming the bus master, the device can start receiv- ing data on the bus. To receive a byte in an interrupt or polling operation, the software should: 1) Check that SMBST.SDAST is set and that SMBST.BER is cleared. If SMBCTL1.STASTRE is set, also check that SMBST.STASTR is cleared (and clear it if required). 2) Set SMBCTL1.ACK, if the next byte is the last byte that should be read. This causes a negative acknowledge to be sent. 3) Read the data byte from SMBSDA. Before receiving the last byte of data, set SMBCTL1.ACK. Before generating a STOP condition or generating a repeated START condition, it is necessary to perform an SDA read and clear the SMBST.SDAST bit. Master STOP To end a transaction, set SMBCTL1.STOP before clearing the current stall flag (i.e., the SDAST, NEGACK, or STASTR bit of SMBST). This causes the SMB to send a STOP condition immediately, and to clear SMBCTL1.STOP. A STOP condition may be issued only when the device is the active bus master (SMBST.MAS- TER is set). Master Bus Stall The SMB Controller can stall the bus between transfers while waiting for the host response. The bus is stalled by holding the SCL signal low after the acknowledge cycle. Note that this is interpreted as the beginning of the follow- ing bus operation. The user must make sure that the next operation is prepared before the flag that causes the bus stall is cleared. The flags that can cause a bus stall in master mode are: • Negative acknowledge after sending a byte (SMBST.NEGACK = 1). • SMBST.SDAST bit is set. • SMBCTL1.STASTRE = 1, after a successful START (SMBST.STASTR = 1). Repeated START A repeated START is performed when the device is already the bus master (SMBST.MASTER is set). In this case, the bus is stalled and the SMB Controller awaits host handling due to: negative acknowledge (SMBST.NEGACK = 1), empty buffer (SMBST.SDAST = 1), and/or a stall after START (SMBST.STASTR = 1). For a repeated START: 1) Set (1) SMBCTL1.START. 2) In master receive mode, read the last data item from SMBSDA. 3) Follow the address send sequence, as described in “Write the address byte (7-bit target device address) and the direction bit to SMBSDA. This causes the SMB Controller to generate a transaction. At the end of this transaction, the acknowledge bit received is copied to SMBST.NEGACK. During the transaction, the SDA and SCL lines are continuously checked for conflict with other devices. If a conflict is detected, the transaction is aborted, SMBST.BER is set, and SMBST.MASTER is cleared. 4) If the SMB Controller was awaiting handling due to SMBST.STASTR = 1, clear it only after writing the requested address and direction to SMBSDA. Master Error Detection The SMB Controller detects illegal START or STOP condi- tions (i.e., a START or STOP condition within the data transfer, or the acknowledge cycle) and a conflict on the data lines of the bus. If an illegal condition is detected, SMBST.BER is set and master mode is exited (SMBST.MASTER is cleared). |
|
ссылки URL |
| Вашему бизинису помогли Аллдатащит? [ DONATE ] |
Что такое Аллдатащит | реклама | контакт | Конфиденциальность | Ссылка на техническое описание | обмен ссыками | поиск по производителю All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |