會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





MCP9808 Alert 問題
新會員
註冊日期:
4月05日 12:37:04
所屬群組:
註冊會員
文章: 6
等級: 1; EXP: 47
HP : 0 / 11
MP : 2 / 8
離線
各位先進 好:

我照著MCP9808 溫度Sensor datasheet的範例去實做,發現無論TA高於或低於TUPPER Limit與TCRITICAL Limit,Alert都會觸發,
Alert會觸發是因為 TA vs. TCRIT bit 是 always High,請問 TA vs. TCRIT bit always High的原因是什麼?

附上相關暫存器的設定,請各位先進指點一二,謝謝您。


void writeConfig
()
{
   
StartI2C2(); // send START command
   
WriteMI2C2((MCP9808_I2CADDR_DEFAULT << 1) & 0xFE); //WRITE Command also, make sure bit 0 is cleared ‘0’
   
WriteMI2C2(MCP9808_REG_CONFIG); // Write CONFIG Register
   
WriteMI2C2(0x00); // Write data
   
WriteMI2C2(0x80); // Write data
   
StopI2C2(); // send STOP command
}
void writeTupper()
{
   
StartI2C2(); // send START command
   
WriteMI2C2((MCP9808_I2CADDR_DEFAULT << 1) & 0xFE); //WRITE Command also, make sure bit 0 is cleared‘0’
   
WriteMI2C2(CP9808_REG_UPPER_TEMP); // Write CONFIG Register
   
WriteMI2C2(0x04); // Write data   70 C
   
WriteMI2C2(0x60); // Write data
   
StopI2C2(); // send STOP command
}
void writeTlower()
{
   
StartI2C2(); // send START command
   
WriteMI2C2((MCP9808_I2CADDR_DEFAULT << 1) & 0xFE); //WRITE Command also, make sure bit 0 is cleared ‘0’
   
WriteMI2C2(MCP9808_REG_LOWER_TEMP); // Write CONFIG Register
   
WriteMI2C2(0x00); // Write data   0 C
   
WriteMI2C2(0x00); // Write data
   
StopI2C2(); // send STOP command
}
void writeTcrit()
{
   
StartI2C2(); // send START command
   
WriteMI2C2((MCP9808_I2CADDR_DEFAULT << 1) & 0xFE); //WRITE Command also, make sure bit 0 is cleared ‘0’
   
WriteMI2C2(MCP9808_REG_CRIT_TEMP); // Write CONFIG Register
   
WriteMI2C2(0x05); // Write data   80 C
   
WriteMI2C2(0x00); // Write data
   
StopI2C2(); // send STOP command
}

4月19日 21:58:07
轉換PDF檔 列印


Re: MCP9808 Alert 問題
資深會員
註冊日期:
2010/06/30 16:18
來自 CAE, Microchip Technology Inc.
所屬群組:
站務管理者
註冊會員
文章: 1527
等級: 33; EXP: 27
HP : 161 / 806
MP : 509 / 16498
離線
先確認一下, Alert Pin 是, Open-Drain,
有接提升電阻嗎?

4月19日 23:24:16
轉換PDF檔 列印


Re: MCP9808 Alert 問題
新會員
註冊日期:
4月05日 12:37:04
所屬群組:
註冊會員
文章: 6
等級: 1; EXP: 47
HP : 0 / 11
MP : 2 / 8
離線
Adam Syu 您好:

是的,我知道 Alert Pin 是 Open-Drain,
也有加10k的提升電阻。

4月20日 13:22:35
轉換PDF檔 列印


Re: MCP9808 Alert 問題
資深會員
註冊日期:
2010/06/30 16:18
來自 CAE, Microchip Technology Inc.
所屬群組:
站務管理者
註冊會員
文章: 1527
等級: 33; EXP: 27
HP : 161 / 806
MP : 509 / 16498
離線
CONFIGURATION Register
有一系列針對Alert Pin的動作設定,
其中Bit3, Alert Output Control Bit
預設是關閉的, 可以打開看看

附加檔案:



jpg  01.jpg (253.46 KB)
7103_58f866385d9e8.jpg 951X697 px

4月20日 15:41:47
轉換PDF檔 列印


Re: MCP9808 Alert 問題
新會員
註冊日期:
4月05日 12:37:04
所屬群組:
註冊會員
文章: 6
等級: 1; EXP: 47
HP : 0 / 11
MP : 2 / 8
離線
Adam Syu 您好:


我有將Bit3, Alert Output Control Bit打開,Alert腳位確實有觸發,謝謝。


當 Alert Output Control Bit 打開,TA < TUPPER Limit 與 TA < TCRITICAL Limit 時,
請問為什麼Alert腳位還是會觸發?

我測量到TA(26度C)是 小於TUPPER Limit(70度C); 小於TCRITICAL Limit(80度C); 也大於TLOWER Limit(0度C),
而且用示波器量波形發現是 TA vs. TCRIT bit 是 always High,
請問為什麼TA vs. TCRIT bit 是 always High?



void writeConfig
()
{
   
StartI2C2(); // send START command
   
WriteMI2C2((MCP9808_I2CADDR_DEFAULT << 1) & 0xFE); //WRITE Command also, make sure bit 0 is cleared ‘0’
   
WriteMI2C2(MCP9808_REG_CONFIG); // Write CONFIG Register
   
WriteMI2C2(0x00);
   
WriteMI2C2(0x08); // Alert Output Control Bit set 1
   
StopI2C2(); // send STOP command
}
void writeTupper()
{
   
StartI2C2(); // send START command
   
WriteMI2C2((MCP9808_I2CADDR_DEFAULT << 1) & 0xFE); //WRITE Command also, make sure bit 0 is cleared‘0’
   
WriteMI2C2(CP9808_REG_UPPER_TEMP); // Write CONFIG Register
   
WriteMI2C2(0x04); // Write data 70 C
   
WriteMI2C2(0x60); // Write data
   
StopI2C2(); // send STOP command
}
void writeTlower()
{
   
StartI2C2(); // send START command
   
WriteMI2C2((MCP9808_I2CADDR_DEFAULT << 1) & 0xFE); //WRITE Command also, make sure bit 0 is cleared ‘0’
   
WriteMI2C2(MCP9808_REG_LOWER_TEMP); // Write CONFIG Register
   
WriteMI2C2(0x00); // Write data 0 C
   
WriteMI2C2(0x00); // Write data
   
StopI2C2(); // send STOP command
}
void writeTcrit()
{
   
StartI2C2(); // send START command
   
WriteMI2C2((MCP9808_I2CADDR_DEFAULT << 1) & 0xFE); //WRITE Command also, make sure bit 0 is cleared ‘0’
   
WriteMI2C2(MCP9808_REG_CRIT_TEMP); // Write CONFIG Register
   
WriteMI2C2(0x05); // Write data 80 C
   
WriteMI2C2(0x00); // Write data
   
StopI2C2(); // send STOP command
}

4月20日 16:40:38
轉換PDF檔 列印


Re: MCP9808 Alert 問題
資深會員
註冊日期:
2007/11/05 08:29
所屬群組:
註冊會員
文章: 203
等級: 13; EXP: 28
HP : 0 / 307
MP : 67 / 8659
離線
CONFIG, Bit 1 設為0 的話 觸發是 L (內定值)

4月20日 17:18:10
轉換PDF檔 列印


Re: MCP9808 Alert 問題
新會員
註冊日期:
4月05日 12:37:04
所屬群組:
註冊會員
文章: 6
等級: 1; EXP: 47
HP : 0 / 11
MP : 2 / 8
離線
timijk 您好:

我確實是將CONFIG, Bit 1 設為0 ,觸發是 Low,
而且我的TA在TUPPER Limit、TCRITICAL Limit 與 TLOWER Limit範圍內,
應該是不會觸發Alert腳位,
但是Alert腳位卻觸發了,是否是我對Alert訊號輸出的功能理解錯誤呢?

4月21日 15:05:02
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
線上教學影片
網頁捷徑
2017 Summer Elite 報名
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project