在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

與MAX3108 UART接口

星星科技指導員 ? 來源:ADI ? 作者:ADI ? 2023-04-04 11:32 ? 次閱讀

本應用筆記是探討MAX3108高性能通用異步接收器/發送器(UART)特性系列筆記中的第一篇,解釋了MAX3108和控制微處理器之間的基本接口。應用筆記簡要介紹了通過2、4或6引腳實現硬件連接;實施 31 個寄存器,可通過 SPI 或 I 訪問2C接口;和三種復位機制。SPI 和 I 的更詳細解釋2C 接口和偽代碼示例如下。

介紹

MAX3108為高性能通用異步收發器(UART),采用晶圓級封裝(WLP),理想用于低功耗便攜式設備。其高級功能范圍從單獨的 128 字發送和接收 FIFO 到廣泛的硬件介導流控制。然而,在應用利用這些特性之前,它必須與MAX3108及其31個內部寄存器進行可靠的通信。本應用筆記介紹了MAX3108通信的基本原理。有關偽代碼的軟件約定顯示在附錄中。

硬件連接

MAX3108與微處理器(μP)之間的通信通過2、4或6個引腳進行。兩個專用引腳 %-overbar_pre%IRQ%-overbar_post% 和 %-overbar_pre%RST%-overbar_post% 通常連接到微處理器 GPIO 引腳。%-overbar_pre_sentence%IRQ%-overbar_post% 是微處理器的輸入引腳。作為雙功能信號,%-overbar_pre%IRQ%-overbar_post%既指示MAX3108復位何時完成,又在發生某些可編程UART事件時通知微處理器。%-overbar_pre_sentence%RST%-overbar_post% 是微處理器的輸出引腳。它可靠地強制MAX3108復位至已知狀態。盡管可以在不使用這些引腳的情況下實現功能應用程序,但最好連接它們,除非缺少 GPIO 引腳。

MAX3108實現31個寄存器,每個寄存器一個字節寬,可通過SPI或I訪問。2C 接口,在硬件中選擇。由于其更大的帶寬和更簡單的實現,SPI接口更可取。綁定 SPI/%-overbar_pre%I2C%-overbar_post% 引腳高電平實現 SPI 接口。把它綁得很低,實現了我2C 接口。

MAX3108 SPI接口直接連接到微處理器上常用的SPI硬件引擎時效果最佳。

微處理器 SPI 引腳 MAX3108引腳
味噌/自主權達
莫西 莫西/A1
高萊克 SCLK/SCL
黨衛軍 /CS/A0

與其他SPI接口實現不同,即使MAX3108是SPI總線上唯一的器件,從選擇(SS)信號也必須連接到MAX3108。

同樣,I2C 接口在直接連接到 I 時效果最佳2微處理器上的 C 硬件引擎。

微處理器 I2C 引腳 MAX3108引腳
標準及校正實驗所 SCLK/SCL
自主權評估 味噌/自主權達

與SPI接口不同,I2C 接口依賴于總線上具有唯一 I 的每個外設2C 地址。為避免地址沖突,MAX1 I引腳MOSI/A0和%-overbar_pre%CS%-overbar_post%/A3108上的硬件引腳搭接選項固定2C 外設地址為 16 種可能性之一。詳情請參考MAX3108數據資料。

重置

MAX3108具有三種復位機制,所有這些機制都使MAX3108處于已知狀態,需要后續寄存器設置負載。

第一種復位機制是在上電時自動復位。MAX3108要完成復位,無需時鐘。但是,1.8V電源必須啟動并運行。LDOEN 必須連接高電平,或者如果 LDOEN 連接為低電平,則必須將有效的 1.8V 電源連接到 V18 引腳。僅在復位期間,%-overbar_pre%IRQ%-overbar_post%引腳不是中斷指示器,而是復位完成指示器。一旦%-overbar_pre%IRQ%-overbar_post%引腳變為高電平,復位完成。如果MAX3108不存在或未上電,程序流可能會無限期地卡在環路中。如果這是一個問題,請添加一個計時器。如果 %-overbar_pre%IRQ%-overbar_post% 在 300μs 后仍未出現,您可以假設有問題。為避免在MAX3108完全就緒之前寫入寄存器,應用必須遵循以下步驟。while

/*
** Wait for the MAX3108 to come out of reset
*/
   
   // Wait for the IRQ pin to come up, as this
   // indicates that the MAX3108 reset is complete
   while (POLL_MAX3108_IRQ == 0);

第二種復位機制是通過MAX3108 %-overbar_pre%RST%-overbar_post%引腳進行硬件復位。在這種情況下,手動將%-overbar_pre%RST%-overbar_post%引腳脈沖為低電平,然后為高電平。與上電時自動復位一樣,%-overbar_pre%IRQ%-overbar_post%引腳表示復位完成。如上所述,為防止MAX3108缺電或未上電時無限期卡在環路中,增加一個延遲最小為300μs的定時器。偽代碼見下文。while

/*
** Perform a hardware reset
*/
   SET_MAX3108_RESET_PIN_LOW;
   WAIT (1μs);
   SET_MAX3108_RESET_PIN_HIGH;

   // Wait for the IRQ pin to come up, as this
   // indicates that the MAX3108 reset is complete
   while (POLL_MAX3108_IRQ == 0);

第三種復位機制是軟件控制的復位,它依賴于SPI或I2C 訪問 MAX3108。與其他復位一樣,MAX3108寄存器需要在復位完成后重新加載。使用以下偽代碼調用重置。

/*
** Software reset of the MAX3108
*/
   MAX3108_Write (MAX3108R_MODE2, 0x01);
   MAX3108_Write (MAX3108R_MODE2, 0x00);

通過 SPI 接口

MAX3108與微處理器之間的通信通過%-overbar_pre%RST%-overbar_post%引腳、%-overbar_pre%IRQ%-overbar_post%引腳(均如上所述)以及應用微處理器和MAX3108寄存器之間的接口進行。此寄存器接口可以是 SPI 或 I2C 接口。有關 SPI 選項的詳細信息顯示在此處,而有關 I 的詳細信息2C 接口出現在通過 I 接口2C部分。

SPI 接口是微處理器上常用的硬件接口。SPI接口的另一個優點是它的速度。MAX3108可支持高達26Mbps的SPI數據速率,比目前大多數微處理器SPI硬件更快。

MAX3108 SPI接口不僅支持單寄存器讀寫,還支持突發讀寫。這些突發事務提高了寄存器接口的效率,進一步推開了寄存器接口成為瓶頸的點。

與其他SPI方案不同,微處理器上SPI主硬件的SS信號必須連接至MAX3108 %-overbar_pre%CS%-overbar_post%/A0引腳。除了選擇SPI總線外設的傳統用途外,%-overbar_pre%CS%-overbar_post%/A0引腳還向MAX3108發出SPI事務邊界信號。%-overbar_pre%CS%-overbar_post%/A0的下降沿向MAX3108表示SPI接口上的下一個字節是MAX3108寄存器地址。%-overbar_pre%CS%-overbar_post%/A0的上升沿向MAX3108發出信號,表明SPI事務(單次讀取、單次寫入、突發讀取或突發寫入)已經結束。

SPI 事務本質上是雙向的。對于從微處理器寫入MAX3108的每個字節,MAX3108同時返回一個字節到微處理器。這些往往可以忽略;寄存器寫操作忽略MAX3108的返回字節。類似地,寄存器讀取返回其值,微處理器向MAX3108發送虛擬字節。這些虛擬字節不會降低接口速度,因為它們與有效的寄存器讀取或寫入數據同時發生。

單 SPI 寫入

單個寫入事務的偽代碼如下所示:

/*
** Write one byte to the specified register in the MAX3108
**
** Arguments: 
** port: MAX3108 register address to write to (0x00 through 0x1e)
** val: the value to write to that register
**
** return value:  TRUE
**
*/
BOOL MAX3108_SPI_Write (unsigned int port,
                        unsigned char val) {
   unsigned int dummy;

   // Indicate the start of a transaction
   SET_MAX3108_CS_PIN_LOW;

   // Write transaction is indicated by MSbit of the
   // MAX3108 register address byte = 1.  SPI return
   // from the MAX3108 ignored
   dummy = SPI_SEND_BYTE (0x80 | port);

   // Now send the value to write, return value ignored
   dummy = SPI_SEND_BYTE (val);

   // Finally, indicate transaction completion
   SET_MAX3108_CS_PIN_HIGH;

   return TRUE;
}

突發 SPI 寫入

MAX3108 SPI接口還支持突發寫入,適用于快速FIFO填充或快速寄存器負載。如果寄存器地址為零,則突發寫入將填充發送FIFO。這允許快速FIFO填充,無需切換MAX3108 %-overbar_pre%CS%-overbar_post%/A0線或為每個寫入FIFO字節發送寄存器地址。

對于任何其他MAX3108寄存器地址,寄存器地址隨著突發的每個后續字節自動遞增,從而允許快速寄存器填充。

突發寫入事務的偽代碼如下所示:

/*
** Write a burst of bytes to the MAX3108
**
** Arguments:
** port: MAX3108 register address to write to
** len: number of bytes to send to MAX3108 registers
** ptr: pointer to the bytes to send
**
** return value:  TRUE
**
*/
BOOL MAX3108_SPI_Puts (unsigned int port,
                       unsigned int len,
                       unsigned char *ptr) {

   unsigned int dummy;

   // Indicate the start of a transaction
   SET_MAX3108_CS_PIN_LOW;

   // Write transaction indicated by MSbit of the
   // MAX3108 register address byte = 1.  SPI return
   // from the MAX3108 ignored
   dummy = SPI_SEND_BYTE (0x80 | port);

   // Covers the case where len==0
   while (len--) {
      dummy = SPI_SEND_BYTE (*ptr++);  // return value ignored
   }

   // Indicate transaction completion
   SET_MAX3108_CS_PIN_HIGH;

   return TRUE;
}

注意,對于突發寫入事務,第一個字節是MAX3108寄存器地址,所有后續字節都是寄存器值寫入。最終寄存器寫入由%-overbar_pre%CS%-overbar_post%/A0引腳變為高電平表示。

SPI硬件引擎(通?;?a href="http://www.xsypw.cn/tags/dma/" target="_blank">DMA)也控制MAX3108 %-overbar_pre%CS%-overbar_post%/A0引腳,通常通過標有overbar_post overbar_pre SS的引腳。當 %-overbar_pre%CS%-overbar_post%/A0 變低時,表示下一個 SPI 事務開始。%-overbar_pre%CS%-overbar_post%/A0必須保持較高的最短時間為0ns。此時確保MAX100識別出交易已完成。

單 SPI 讀取

通過SPI讀取寄存器字節涉及發送寄存器地址,后跟虛擬字節。來自虛擬字節的SPI反饋是所選MAX3108寄存器的值。

單次讀取的偽代碼如下:

/*
** Read one byte from the specified register in the MAX3108
**
** Arguments: 
** port: MAX3108 register address to read from
**
** return value:  the register value
**
*/
unsigned int MAX3108_SPI_Read (unsigned int port) {
   unsigned int dummy;
   unsigned int val;

   // Indicate the start of a transaction
   SET_MAX3108_CS_PIN_LOW;

   // Read transaction indicated by MSbit of the
   // address byte = 0.  SPI return from the MAX3108
   // ignored
   dummy = SPI_SEND_BYTE (port & 0x7f);

   // Now send a dummy byte to collect the 
   // register value
   val = SPI_SEND_BYTE (0x00);

   // Finally, indicate transaction completion
   SET_MAX3108_CS_PIN_HIGH;

   return val;
}

突發 SPI 讀取

MAX3108 SPI接口還支持突發讀取,適用于快速FIFO清空或快速寄存器掃描。如果寄存器地址為零,則突發讀取為空接收FIFO。這樣就可以快速進行FIFO轉儲,而無需切換MAX3108 %-overbar_pre%CS%-overbar_post%/A0線或為每個FIFO字節讀取發送寄存器地址。

對于任何其他MAX3108寄存器地址,寄存器地址隨著突發的每個后續字節自動遞增,從而允許快速寄存器掃描。

突發讀取事務的偽代碼如下:

/*
** Read a burst of bytes from the MAX3108
**
** Arguments:
** port: MAX3108 register address to read from
** len: number of bytes to get from MAX3108 registers
** ptr: pointer to where to place the bytes
**
** return value:  TRUE
**
*/
BOOL MAX3108_SPI_Gets (unsigned int port,
                       unsigned int len,
                       unsigned char *ptr) {

   unsigned int dummy;

   // Indicate the start of a transaction
   SET_MAX3108_CS_PIN_LOW;

   // Read transaction indicated by MSbit of the
   // address byte = 0.  SPI return from the MAX3108
   // ignored
   dummy = SPI_SEND_BYTE (port & 0x7f);

   // Covers the case where len==0
   while (len--) {
      *ptr++ = SPI_SEND_BYTE (0x00);
   }

   // Indicate transaction completion
   SET_MAX3108_CS_PIN_HIGH;

   return TRUE;
}

注意,對于突發讀取事務,第一個字節是MAX3108寄存器地址,所有后續字節都是假字節,其返回值為寄存器值。最終寄存器讀取由%-overbar_pre%CS%-overbar_post%/A0引腳變為高電平表示。

通過 I 接口2C

MAX3108寄存器和微處理器之間的通信也可以通過I進行。2C 接口。

我2C 接口是微處理器上常見的硬件輔助接口。I 的另一個優點2C接口是它只使用兩個引腳。而不是為每個外設選擇單獨的芯片(如在SPI接口的情況下),一個I2C 接口依賴于每個具有唯一 I 的外設2C 地址。為避免與其他 I 發生可能的沖突2同一 I 上的 C 外設2C總線,MAX3108可通過引腳編程至16個唯一I之一2通過 MOSI/A1 和 %-overbar_pre%CS%-overbar_post%/A0 引腳的引腳綁定實現 C 外設地址。在下面的偽代碼中,假定預處理器變量MAX3108_I2C_PERIPHERAL_ADDRESS是用適當的 I 定義的2C 寄存器寫入地址,與任何其他 I 的地址是唯一的2同一總線上的 C 外設。

MAX3108不僅支持標準模式(100kbps)和快速模式(400kbps)I2C,但也有快速模式加 (1Mbps) I2C.

The MAX3108 I2C 接口不僅支持單寄存器讀寫,還支持突發讀寫。這些突發事務提高了寄存器接口的效率,進一步推開了寄存器接口成為瓶頸的點。

單 I2C 寫入

單個寫入事務的偽代碼如下所示:

/*
** Write one byte to the specified register in the MAX3108
**
** Arguments: 
** port: MAX3108 register address to write to
** val: the value to write to that register
**
** return value:  TRUE – register successfully written
**                FALSE – I2C protocol error of some kind
**
*/
BOOL MAX3108_I2C_Write (unsigned int port,
                        unsigned char val) {
   
   // Indicate the start of a transaction and send the
   // MAX3108 write peripheral address (LSbit = 0)
   I2C_SET_START_CONDITION;
   I2C_SEND_BYTE (MAX3108_I2C_PERIPHERAL_ADDRESS);

   // Is anybody out there?
   if (!I2C_TEST_ACK) {
      I2C_SET_STOP_CONDITION;  // no – close out the
      return FALSE;            //  transaction
   }

   // The MAX3108 is out there, now send the MAX3108
   // register to write
   I2C_SEND_BYTE (port);

   // Possibly illegal MAX3108 register address?
   If (!I2C_TEST_ACK) {
      I2C_SET_STOP_CONDITION;
      return FALSE;
   }

   // Now send the byte to write
   I2C_SEND_BYTE (val);

   // Did the MAX3108 get confused?
   If (!I2C_TEST_ACK) {
      I2C_SET_STOP_CONDITION;
      return FALSE;
   }

   // The MAX3108 is OK with our write, make it so
   I2C_SET_STOP_CONDITION;
   return TRUE;
}

爆裂 I2C 寫入

The MAX3108 I2C 接口還支持突發寫入,適用于快速 FIFO 填充或快速寄存器加載。如果寄存器地址為零,則突發寫入將填充發送FIFO。這允許快速填充FIFO,而無需I2寫入的每個 FIFO 字節的 C 前導碼開銷。

對于任何其他MAX3108寄存器地址,寄存器地址隨著突發的每個后續字節自動遞增,從而允許快速寄存器填充。

突發寫入事務的偽代碼如下所示:

/*
** Write a burst of bytes to the MAX3108
**
** Arguments:
** port: MAX3108 register address to write to
** len: number of bytes to send to MAX3108 registers
** ptr: pointer to the bytes to send
**
** return value:  TRUE – register successfully written
**                FALSE – I2C protocol error of some kind

**
*/
BOOL MAX3108_I2C_Puts (unsigned int port,
                       unsigned int len,
                       unsigned char *ptr) {

   // Indicate the start of a transaction and send the
   // MAX3108 write peripheral address (LSbit = 0)
   I2C_SET_START_CONDITION;
   I2C_SEND_BYTE (MAX3108_I2C_PERIPHERAL_ADDRESS);

   // Is anybody out there?
   if (!I2C_TEST_ACK) {
      I2C_SET_STOP_CONDITION;  // no – close out the
      return FALSE;            //  transaction
   }

   // The MAX3108 is out there, now send the MAX3108
   // register address
   I2C_SEND_BYTE (port);

   // Possibly illegal MAX3108 register address?
   If (!I2C_TEST_ACK) {
      I2C_SET_STOP_CONDITION;
      return FALSE;
   }

   while (len--) {
      // Now send the byte to write
      I2C_SEND_BYTE (*ptr++);

      // Did the MAX3108 get confused?
      if (!I2C_TEST_ACK) {
         I2C_SET_STOP_CONDITION;
         return FALSE;
      }
   }

   // The MAX3108 is OK with our write, make it so
   I2C_SET_STOP_CONDITION;
   return TRUE;
}

注意,對于突發寫入事務,第一個字節為MAX3108 I2C外設地址,第二個字節為MAX3108寄存器地址,后續所有字節均為寄存器值寫入。最終寄存器寫入由 STOP 條件指示。

單 I2C 讀取

通過 I 讀取寄存器字節2C涉及發送MAX3108讀寄存器地址,后跟I2C 重新啟動條件以轉動 I2C總線繞行,從寫(到MAX3108指定MAX3108寄存器)到讀(獲取寄存器值)。

單次讀取的偽代碼如下:

/*
** Read one byte from the specified register in the MAX3108
**
** Arguments: 
** port: MAX3108 register address to read from
**
** return value:  the register value (0x00XX)
**                0xff00 is there was some error
**
*/
unsigned int MAX3108_I2C_Read (unsigned int port) {

   unsigned int val;

   // Indicate the start of a transaction and send the
   // MAX3108 write peripheral address (LSbit = 0)
   I2C_SET_START_CONDITION;
   I2C_SEND_BYTE (MAX3108_I2C_PERIPHERAL_ADDRESS);

   // Is anybody out there?
   if (!I2C_TEST_ACK) {
      I2C_SET_STOP_CONDITION;  // no – close out the
      return 0xff00;           //  transaction
   }

   // The MAX3108 is out there, now send the MAX3108
   // register address
   I2C_SEND_BYTE (port);

   // Possibly illegal MAX3108 register address?
   If (!I2C_TEST_ACK) {
      I2C_SET_STOP_CONDITION;
      return 0xff00;
   }

   // Now turn the I2C bus around by sending the MAX3108
   // I2C peripheral read address (LSbit = 1)
   I2C_SET_RESTART_CONDITION;
   I2C_SEND_BYTE (MAX3108_I2C_PERIPHERAL_ADDRESS | 0x01);

   if (!I2C_TEST_ACK) {
      I2C_SET_STOP_CONDITION;
      return 0xff00;
   }

   // Now get the register value
   val = I2C_RECEIVE_BYTE;
   I2C_SEND_NACK;
   I2C_SET_STOP_CONDITION;

   return (val);
}

爆裂 I2C 讀取

The MAX3108 I2C 接口還支持突發讀取,適用于快速 FIFO 清空或快速寄存器掃描。如果寄存器地址為零,則突發讀取為空接收FIFO。這允許快速 FIFO 轉儲,而不會產生與 I 相關的開銷2每個 FIFO 字節讀取的 C 前導碼。

對于任何其他MAX3108寄存器地址,寄存器地址隨著突發的每個后續字節自動遞增,從而允許快速寄存器掃描。

突發讀取事務的偽代碼如下所示:

/*
** Read a burst of bytes from the MAX3108
**
** Arguments:
** port: MAX3108 register address to read from
** len: number of bytes to get from MAX3108 registers
** ptr: pointer to where to place the bytes
**
** return value:  TRUE – if all read
**                FALSE – if there was any error
**
*/
BOOL MAX3108_I2C_Gets (unsigned int port,
                       unsigned int len,
                       unsigned char *ptr) {




   // Indicate the start of a transaction and send the
   // MAX3108 write peripheral address (LSbit = 0)
   I2C_SET_START_CONDITION;
   I2C_SEND_BYTE (MAX3108_I2C_PERIPHERAL_ADDRESS);

   // Is anybody out there?
   if (!I2C_TEST_ACK) {
      I2C_SET_STOP_CONDITION;  // no – close out the
      return FALSE;           //  transaction
   }

   // The MAX3108 is out there, now send the MAX3108
   // register address
   I2C_SEND_BYTE (port);

   // Possibly illegal MAX3108 register address?
   If (!I2C_TEST_ACK) {
      I2C_SET_STOP_CONDITION;
      return FALSE;
   }

   // Now turn the I2C bus around by sending the MAX3108
   // I2C peripheral read address (LSbit = 1)
   I2C_SET_RESTART_CONDITION;
   I2C_SEND_BYTE (MAX3108_I2C_PERIPHERAL_ADDRESS | 0x01);

   if (!I2C_TEST_ACK) {
      I2C_SET_STOP_CONDITION;
      return FALSE;
   }

   // Now get the register values
   while (len--) {
      *ptr++ = I2C_RECEIVE_BYTE;
      if (len)
         I2C_SEND_ACK;     // all but last read
      else
         I2C_SEND_NACK;    // last read only
   }
 
   I2C_SET_STOP_CONDITION;
   return TRUE;
}

注意,對于突發讀事務,第一個字節是MAX3108 I2C外設寫地址,第二個字節為MAX3108寄存器地址,第三個字節為MAX3108 I2C外設讀取地址,并且所有后續字節都是寄存器值讀取。微處理器在要讀取更多寄存器時,以 ACK 條件響應每個字節讀取。NACK條件表示從MAX3108讀取的最終寄存器。

結論

按照本應用筆記提供的編碼指南,可以快速啟動并運行微處理器和MAX3108之間的接口。

本應用筆記中偽代碼例程的大部分翻譯都是特定于微處理器的。除中斷處理程序外,本系列中的其他特定代碼應用筆記詳細探討了MAX3108的特性,幾乎不需要轉換為特定的目標微處理器。它們將依靠本應用筆記中描述的讀、寫、獲取和放置基元來封裝微處理器特有的問題。

附錄

本附錄包含理解本應用筆記以及本系列其他偽代碼所需的定義,詳細探討MAX3108的特性。

與引腳 I/O 相關的定義

POLL_MAX3108_IRQ:該偽代碼返回MAX3108 %-overbar_pre%IRQ%-overbar_post%引腳的數字狀態。該引腳需要外部上拉才能正常工作。

SET_MAX3108_CS_PIN_HIGH:該偽代碼驅動MAX3108 %-overbar_pre%CS%-overbar_post%/A0引腳高電平。

SET_MAX3108_CS_PIN_LOW:該偽代碼驅動MAX3108 %-overbar_pre%CS%-overbar_post%/A0引腳為低電平。

SET_MAX3108_RESET_PIN_HIGH:該偽代碼驅動MAX3108 %-overbar_pre%RST%-overbar_post%引腳高電平。

SET_MAX3108_RESET_PIN_LOW:該偽代碼將MAX3108 %-overbar_pre%RST%-overbar_post%引腳驅動為低電平。

等:此偽代碼至少將以下指令的執行延遲到指定的時間。

與I有關的定義2C 接口

I2C_SEND_BYTE:該偽代碼通過I向MAX3108發送一個字節2C總線。

I2C_SET_RESTART_CONDITION:此偽代碼在 I 上放置了 RESTART 條件2C總線。

I2C_SET_START_CONDITION:此偽代碼在 I 上放置了一個 START 條件2C總線。

I2C_SET_STOP_CONDITION:此偽代碼在 I 上放置了一個 STOP 條件2C總線。

I2C_TEST_ACK:如果MAX3108響應用ACK寫入的字節,則返回TRUE;如果MAX3108響應用NACK寫入的字節,則返回FALS。

SPI_SEND_BYTE:一個字節通過SPI接口發送到MAX3108,同時捕獲MAX3108返回的字節。

與寄存器接口相關的定義

MAX3108_Gets:此例程要么MAX3108_I2C_Gets,要么MAX3108_SPI_Gets,具體取決于應用程序中實現的接口。

MAX3108_Puts:此例程要么MAX3108_I2C_Puts,要么MAX3108_SPI_Puts,具體取決于應用程序中實現的接口。

MAX3108_Read:此例程MAX3108_I2C_Read或MAX3108_SPI_Read,具體取決于應用程序中實現的接口。

MAX3108_Write:此例程是MAX3108_I2C_Write的,也可以是MAX3108_SPI_Write的,具體取決于應用程序中實現的接口。

MAX3108_I2C_Gets:本應用筆記描述的本例程通過I接收FIFO或其它MAX3108寄存器的突發讀取。2C 接口。

MAX3108_I2C_Puts:本應用筆記中描述的本例程通過I向MAX3108發送FIFO或其它MAX3108寄存器進行突發寫入。2C 接口。

MAX3108_I2C_Read:本應用筆記描述的本例程通過I讀取MAX3108寄存器之一的值。2C 接口。

MAX3108_I2C_Write:本應用筆記描述的本例程通過I向MAX3108寄存器寫入一個值。2C 接口。

MAX3108_SPI_Gets:本應用筆記描述了該例程,通過SPI接口從MAX3108接收FIFO或其他MAX3108寄存器進行突發讀取。

MAX3108_SPI_Puts:本應用筆記描述的本例程通過SPI接口對MAX3108發送FIFO或其它MAX3108寄存器進行突發寫入。

MAX3108_SPI_Read:本應用筆記描述的該例程通過SPI接口讀取MAX3108寄存器之一的值。

MAX3108_SPI_Write:本應用筆記描述的本例程通過SPI接口向MAX3108寄存器寫入一個值。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接收器
    +關注

    關注

    14

    文章

    2475

    瀏覽量

    72046
  • 微處理器
    +關注

    關注

    11

    文章

    2272

    瀏覽量

    82612
  • 發送器
    +關注

    關注

    1

    文章

    259

    瀏覽量

    26861
收藏 人收藏

    評論

    相關推薦

    請問怎樣去設計一種基于MAX2741+LTC3108的GPS接收器?

    MAX2741是什么?有何作用?LTC3108是什么?有何作用?怎樣去設計一種基于MAX2741+LTC3108的GPS接收器?
    發表于 06-28 07:19

    MAX3108業內尺寸最小的SPI/I²C UART

    小尺寸的MAX3108通用異步收發器與128每接收和發送FIFO字(UART)是控制通過一個串行I2C或SPI控制器接口。自動休眠和關機模式,有助于減少非活動期間的功耗。低為500A(最大值)電源電流和微小的25焊球WLP封裝(
    發表于 01-14 09:46 ?745次閱讀

    MAX3108帶有FIFO的SPI UART

    小尺寸的MAX3108通用異步收發器與128字的接收和發送FIFO每個(UART)是控制通過串行I ² C或SPI™控制器接口。
    發表于 02-22 10:28 ?1530次閱讀
    <b class='flag-5'>MAX3108</b>帶有FIFO的SPI <b class='flag-5'>UART</b>

    MAX3108應用筆記

    high-performance universal asynchronousreceiver/transmitter (UART) in detail, explains the basic interface between the MAX3108 and the
    發表于 03-28 16:10 ?0次下載

    MAX3108異步接收器指南

    The MAX3108, a high-performance universal asynchronous receiver-transmitter (UART) in a wafer-level
    發表于 03-31 10:16 ?0次下載
    <b class='flag-5'>MAX3108</b>異步接收器指南

    Programming Baud Rates of the MAX3108 UART

    Abstract: The MAX3108 is a complete high-performance universal asynchronous receiver-transmitter
    發表于 04-09 11:53 ?26次下載

    MAX3108A業界最小通用異步收發器(UART)

    MAX3108A小尺寸通用異步收發器(UART),128個字的接收和發送FIFO的控制是通過串行I2C或SPI控制器接口
    發表于 11-09 10:34 ?1698次閱讀

    MAX3108A,pdf數據手冊

    The MAX3108A small form factor universal asynchronousreceiver-transmitter (UART) with 128 words
    發表于 11-09 11:16 ?16次下載
    <b class='flag-5'>MAX3108</b>A,pdf數據手冊

    MAX3108A中文資料

    MAX3108A為小尺寸通用異步收發器(UART), 每路接收和發送FIFO具有128個字,通過串行I2C或SPI控制器接口控制。自動休眠和關斷模式有助于降低待機功耗。500A (最大)低電源電流、1A關斷電流以
    發表于 08-23 17:06 ?31次下載
    <b class='flag-5'>MAX3108</b>A中文資料

    max3108,UART接口

    Introduction The MAX3108 is a high-performance universal asynchronous receiver-transmitter (UART
    發表于 04-05 15:14 ?12次下載

    連接至 MAX3108 UART

    發表于 11-17 12:42 ?0次下載
    連接至 <b class='flag-5'>MAX3108</b> <b class='flag-5'>UART</b>

    MAX3108和控制微處理器之間的基本接口解析

    本應用筆記中偽代碼例程的大部分翻譯都是特定于微處理器的。除中斷處理程序外,本系列中的其他特定代碼應用筆記詳細探討了MAX3108的特性,幾乎不需要轉換為特定的目標微處理器。它們將依靠本應用筆記中描述的讀、寫、獲取和放置基元來封裝微處理器特有的問題。
    的頭像 發表于 01-17 14:40 ?1075次閱讀

    MAX3108EWA+T 接口 - UART(通用異步接收器發送器)

    電子發燒友網為你提供Maxim(Maxim)MAX3108EWA+T相關產品參數、數據手冊,更有MAX3108EWA+T的引腳圖、接線圖、封裝手冊、中文資料、英文資料,MAX3108EWA+T真值表,
    發表于 01-28 19:26
    <b class='flag-5'>MAX3108</b>EWA+T <b class='flag-5'>接口</b> - <b class='flag-5'>UART</b>(通用異步接收器發送器)

    MAX3108AEWA+T 接口 - UART(通用異步接收器發送器)

    電子發燒友網為你提供Maxim(Maxim)MAX3108AEWA+T相關產品參數、數據手冊,更有MAX3108AEWA+T的引腳圖、接線圖、封裝手冊、中文資料、英文資料,MAX3108AEWA+T真值表,
    發表于 01-28 19:27
    <b class='flag-5'>MAX3108</b>AEWA+T <b class='flag-5'>接口</b> - <b class='flag-5'>UART</b>(通用異步接收器發送器)

    MAX3108 UART的波特率編程

    MAX3108是一款高性能通用異步收發器(UART),采用晶圓級封裝(WLP),具有許多硬件高級特性,從單獨的128字發送和接收FIFO到廣泛的硬件介導流控制。MAX3108的大部分功能依賴于時鐘的編程。因此,第一個編程任務是設
    的頭像 發表于 02-20 11:42 ?799次閱讀
    <b class='flag-5'>MAX3108</b> <b class='flag-5'>UART</b>的波特率編程
    主站蜘蛛池模板: 99视频热| 国产日韩三级| 欧美性猛交xxx嘿人猛交| xx在线观看| 手机免费黄色网址| a级午夜毛片免费一区二区| 狠狠色噜噜狠狠狠| 欧美乱论视频| 人人入人人爱| 日本不卡一区二区三区在线观看| 国产乱子伦| wwwwww日本| 夜夜操操操| 免费网站黄成人影院| 国产午夜精品一区二区三区| 人人公开免费超级碰碰碰视频| 又长又大又粗又硬3p免费视| 韩国a级床戏大尺度在线观看| 欧美人与动性xxxxbbbb| 激情六月网| 天天做天天爱天天干| 狠狠干天天| 中文字幕一二三四区| 99久久99久久精品国产| 上课被同桌强行摸下面小黄文| 特黄特色三级在线播放| 亚洲成人资源| 亚洲伊人久久大香线蕉综合图片| 综合久久婷婷| 色女人网| 欧美色a电影精品aaaa| 欧美色视频日本片高清在线观看| 黄色视屏日本| 午夜操| 性夜影院爽黄e爽在线观看| 免费视频播放| 中文字幕国产一区| 亚洲国产精品嫩草影院| 久久亚洲国产欧洲精品一| 午夜影视免费完整高清在线观看网站| 午夜精品免费|