This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TLK2711A 中 K code

请问   TLK2711A 中的  K code 作用是什么 ,在数据通信中要随机的发送 K code  还是 每隔一段时间后要发送 K CODE 还是 每发送 N 个数据后 要  K CODE 

谢谢!

  • K code是8B/10B 编码的控制字符,主要用来数据对齐的作用。

    对于TLK2711A来说,K code是通过TKLSB,或TKMSB来控制. 比如发送K28.5字符,101 11100。 如果按照Table1的配置,K code on TXD(0-7),那么TXD7=1,TXD6=0,TXD5=1,TXD4=1,TXD3=1,TXD2=1,TXD1=0,TXD0=0。

  • 谢谢您的答复,但是还有几个疑问想请教您!

    1. 对于TLK2711A来说,手册上说 :

    NOTE:
    The TLK2711A only achieves byte alignment on the 0011111 comma.

    那么,手册上列举的K CODE 类型

    Table 4. Valid K Characters
    K CHARACTER RECEIVE DATA BUS
    (RXD[7–0]) OR (RXD[15–8])
    K28.0 000 11100
    K28.1(1) 001 11100
    K28.2 010 111000
    K28.3 011 111000
    K28.4 100 11100
    K28.5(1) 101 11100
    K28.6 110 111001
    K28.7(1) 111 11100
    K23.7 111 101111
    K27.7 111 110111
    K29.7 111 111011
    K30.7 111 111101

    我们应该选择哪种类型?

    2. TLK2711A 数据宽度是16bits ,而K CODE 是 8 bits,那是否将两个 K CODE 组合成一个 16bits;例如 :如果选择K28.5  (0xBC)

         那是否是组合成 0xBCBC 发送出去?   如果选择K28.7(0xEC) 和 K28.5 (0xBC 那是否组合成 0XECBC还是0xBCEC?

    3. 是否是每隔N 个有效数据后要发送K CODE?

  • 1. Table4列举了所有8b/10b编解码机制的有效K code。对于TLK2711来说,只能选用0011111 comma字符。
    2. 16位宽,那么8b/10b需要划分两个通过,每个通道分别8bit,然后分别对每个通道的8bit数据实现编解码。
    Since the TLK2711A is a 16-bit wide interface, the data is split into two 8-bit wide bytes for encoding. Each byte is fed into a separate encoder. The encoding is dependent upon two additional input signals, the TKMSB and TKLSB.
    而K code是发送在TXD0~7 还是TXD8~15是由TKLSB,TKMSB决定的。
    3. 您这里的N是怎么定义的?