資料介紹
軟件簡(jiǎn)介
DSC Keybus Interface
This library directly interfaces Arduino, esp8266, and esp32 microcontrollers to DSC PowerSeries security systems for integration with home automation, notifications on alarm events, and direct control as a virtual keypad. This enables existing DSC security system installations to retain the features and reliability of a hardwired system while integrating with modern devices and software for under $5USD in components.
The built-in examples can be used as-is or as a base to adapt to other uses:
- Home automation integration: Home Assistant, Apple HomeKit & Siri, Google Home, OpenHAB, Athom Homey
- Notifications: Telegram bot, PushBullet, Twilio SMS, E-mail
- Virtual keypad: Web interface, Blynk mobile app
- Installer code unlocking: automatic code search to unlock panels with unknown installer codes
See the dscKeybusInterface-RTOS repository for a port of this library to esp-open-rtos - this enables a standalone esp8266 HomeKit accessory using esp-homekit.
Example integrations:
-
Apple Home & Siri:
-
Home Assistant:
-
OpenHAB MQTT:
-
Blynk app virtual keypad:
-
Web virtual keypad:
-
Telegram bot:
Quick start
-
Install the DSC Keybus Interface library:
-
Arduino IDE: Search for
DSC
in the Library Manager -Sketch > Include Library > Manage Libraries
-
PlatformIO IDE: Search for
DSC
in the PlatformIO Library Registry -
PlatformIO CLI:
platformio lib install "dscKeybusInterface"
-
Alternatively,
git clone
or download the repo .zip to the Arduino/PlatformIO library directory to keep track of the latest changes.
-
Arduino IDE: Search for
-
Select, configure, and upload one of the example sketches to the microcontroller:
- Connect the microcontroller to the DSC Keybus per the wiring diagram with the appropriate resistors (and a transistor if you'd like to control the system).
Why?
I Had: A DSC security system not being monitored by a third-party service.
I Wanted: Notification if the alarm triggered.
I was interested in finding a solution that directly accessed the pair of data lines that DSC uses for their proprietary Keybus protocol to send data between the panel, keypads, and other modules. Tapping into the data lines is an ideal task for a microcontroller and also presented an opportunity to work with the Arduino and FreeRTOS (via esp-open-rtos) platforms.
While there has been excellent discussion about the DSC Keybus protocol and a several existing projects, there were a few issues that remained unsolved:
- Error-prone Keybus data capture.
- Limited data decoding - there was good progress for armed/disarmed states and partial zone status for a single partition, but otherwise most of the data was undecoded (notably missing the alarm triggered state).
- Read-only - unable to control the Keybus to act as a virtual keypad.
- No implementations to do useful work with the data.
Poking around with a logic analyzer and oscilloscope revealed that the errors capturing the Keybus data were timing issues - after resolving the data errors, it was possible to reverse engineer the protocol by capturing the Keybus binary data as the security system handled various events.
Features
-
Monitor the status of all partitions:
- Alarm triggered, armed/disarmed, entry/exit delay, fire triggered, keypad panic keys
-
Monitor zones status:
- Zones open/closed, zones in alarm
-
Monitor system status:
- Ready, trouble, AC power, battery
- Monitor PGM outputs 1-14 status
-
Virtual keypad:
- Write keys to the panel for all partitions
- Panel time - retrieve current panel date/time and set a new date/time
- Panel installer code unlocking - determine the 4-digit panel installer code
-
Direct Keybus interface:
- Does not require the DSC IT-100 serial interface.
-
Designed for reliable data decoding and performance:
- Pin change and timer interrupts for accurate data capture timing
- Data buffering: helps prevent lost Keybus data if the sketch is busy
-
Extensive data decoding: the majority of Keybus data as seen in the DSC IT-100 Data Interface developer's guide has been reverse engineered and documented in
src/dscKeybusPrintData.cpp
. -
Non-blocking code: Allows sketches to run as quickly as possible without using
delay
ordelayMicroseconds
-
Supported security systems:
- DSC PowerSeries
- Verified panels: PC585, PC1555MX, PC1565, PC5005, PC5010, PC5015, PC5020, PC1616, PC1808, PC1832, PC1864.
- All PowerSeries series are supported, please post an issue if you have a different panel and have tested the interface to update this list.
- Rebranded DSC PowerSeries (such as some ADT systems) should also work with this interface.
-
Unsupported security systems:
- DSC Classic series (PC1500, PC1550, etc) use a different data protocol, though support is possible.
- DSC Alexor (PC9155) is all wireless and does not have an accessible Keybus interface.
- DSC Neo series use a higher speed encrypted data protocol (Corbus) that is not currently possible to support.
-
Other brands (that are not rebranded DSC systems) use different protocols and are not supported.
- For Honeywell Ademco Vista 15P/20P, see Dilbert66's esphome-vistaECP project
- For Paradox systems, see liaan's paradox-esp8266 project
-
Supported microcontrollers:
-
Arduino:
- Boards: Uno, Mega, Leonardo, Mini, Micro, Nano, Pro, Pro Mini
- ATmega328P, ATmega2560, and ATmega32U4-based boards at 16Mhz
-
esp8266:
- Development boards: NodeMCU v2 or v3, Wemos D1 Mini, etc.
- Includes Arduino framework support and WiFi for ~$3USD shipped.
-
esp32:
- Development boards: NodeMCU ESP-32S, Doit ESP32 Devkit v1, Wemos Lolin D32, etc.
- Includes Arduino framework support (v1.0.5-rc6 or newer required), dual cores, WiFi, and Bluetooth for ~$5USD shipped.
-
Arduino:
-
Possible features (PRs welcome!):
- DSC IT-100 emulation
- Unlock 6-digit installer codes
- DSC Classic series support: This protocol is already decoded, use with this library would require major changes.
Release notes
-
2.0
- New: Telegram bot example sketch
- New: OpenHAB integration example sketch using MQTT
-
New:
Unlocker
example sketch - determines the panel installer code -
New:
TimeSyncNTP
example sketch - uses NTP to automatically set the panel time -
New: ESPHome integration example (located in the
extras
directory) - thanks to Dilbert66 for this contribution! -
New:
TinyGMS-SMS
example sketch - sends status via SMS with a GSM modem - thanks to jvitkauskas for this contribution! -
New:
KeybusReaderIP
example sketch enables Keybus data access over IP, thanks to aboulfad for this contribution! - New: esp32 microcontroller support - requires Arduino-esp32 v1.0.5-rc6 or newer
-
New: Features for sketches:
-
ready
anddisabled
track partition status -
setTime()
sets the panel date and time -
pgmOutputs[]
tracks the status of PGM outputs 1-14 -
timestampChanged
tracks when the panel sends a timestamp -
accessCode
tracks the access code used to arm/disarm -
resetStatus()
triggers a full status update of all partitions and zones - for example, after initialization or a lost network connection. -
pauseStatus
pauses status updates if set totrue
- for example, holding status changes during a lost network connection -
stop()
disables the interface - for example, prior to starting OTA updates -
appendPartition()
in example sketches simplifies adding partition numbers to messages -
panelVersion
tracks the panel version number
-
-
New: Handle
*1 bypass/re-activate
used to change stay/away mode while armed -
Updated:
VirtualKeypad-Blynk
andVirtualKeypad-Web
display alarm memory, programming zone lights, and event buffer -
Updated:
HomeAssistant-MQTT, Homebridge-MQTT, OpenHAB-MQTT
include PGM outputs 1-14 status -
Updated: Virtual keypad writes
-
write()
for multiple keys can now be set to block until the write is complete with an optional parameter if the char array is ephemeral -
Checking
writeReady
is typically no longer needed in the sketch, the library will block if a previous write is in progress - this can be checked if the sketch needs to wait until the library can perform a nonblocking write
-
-
Updated:
HomeAssistant-MQTT
sketch now includes night arm and for esp8266/esp32 includes a sensor with partition status messages - Updated: Expanded partition state processing to improve panel state detection at startup
-
Deprecated:
handlePanel()
is nowloop()
- Bugfix: Resolved keypad aux/panic key, AC power, and battery status on PC585/PC1555MX
-
Bugfix: Resolved
Homebridge-MQTT
sketch not handling HomeKit target states -
Bugfix: Resolved timing issues when consecutively calling
write
-
1.2
-
New: Virtual keypad web interface example, thanks to Elektrik1 for this contribution!
- As of esp8266 Arduino Core 2.5.1, you may need to manually update the esp8266FS plugin for SPIFFS upload.
- New: Support esp8266 CPU running at 160MHz - this helps sketches using TLS through BearSSL
- Updated: HomeAssistant-MQTT example includes availability status, thanks to bjrolfe for this contribution!
- Updated: List of tested DSC panels: PC585, PC1565, PC5005, PC1808
- Updated: esp8266 power wiring diagrams
- Updated: esp8266 module list
-
New: Virtual keypad web interface example, thanks to Elektrik1 for this contribution!
- 1.1
-
1.0
- New: Blynk virtual keypad example sketch and app layout examples
- New: Virtual keypad support for PGM terminals 1-4 command output
-
New: Status
keybusConnected
to check if data is being received from the DSC panel - New: Auxiliary input alarm decoding
-
0.4
- New: Virtual keypad support for partitions 3-8, thanks to jvitkauskas for contributing the necessary logs
- New: Support ATmega32U4-based Arduino boards (switched to AVR Timer1)
- Changed: Simplified example names, configurations, added version numbers
- Bugfix: Virtual keypad writes with partitions 5-8 enabled
-
Bugfix: F/A/P alarm key writes with
processModuleData
disabled -
Bugfix: HomeAssistant example
configuration.yaml
error foralarm_control_panel
-
0.3
- New: Status for partitions 2-8, zones 33-64
- New: Virtual keypad support for partition 2
- New: Athom Homey integration example sketch, thanks to MagnusPer for this contribution!
- New: PCB layouts, contributed by sjlouw
-
New: Configurable number of partitions and zones to customize memory usage:
dscPartitions
anddscZones
indscKeybusInterface.h
-
New: KeybusReader decoding of commands
0xE6
and0xEB
- Changed: Split examples by platform
- Changed: Arduino sketches no longer use pin 4 to avoid a conflict with the SD card on Ethernet shields.
- Changed: MQTT examples updated with username and password fields
-
Changed:
processRedundantData
now true by default to prevent storing repetitive data, reduces memory usage. - Note: This release changes the library methods to accommodate multiple partitions, existing sketches will need to be updated to match the new example sketches.
-
0.2
- New: Status for zones 9-32
- New: Home Assistant integration example sketch
-
New: Panel data buffering, adds
dscBufferSize
todscKeybusInterface.h
to allow configuration of how many panel commands are buffered to customize memory usage (uses 18 bytes of memory per command buffered).
- 0.1 - Initial release
Examples
The included examples demonstrate how to use the library and can be used as-is or adapted to integrate with other software. Post an issue/pull request if you've developed (and would like to share) a sketch/integration that others can use.
-
Status: Processes and prints the security system status to a serial interface, including reading from serial for the virtual keypad. This demonstrates how to determine if the security system status has changed, what has changed, and how to take action based on those changes. Post an issue/pull request if you have a use for additional system states - for now, only a subset of all decoded commands are being tracked for status to limit memory usage:
- Partitions ready
- Partitions armed away/stay/disarmed
- Partitions in alarm
- Partitions exit delay in progress
- Partitions entry delay in progress
- Partitions fire alarm
- Zones open/closed
- Zones in alarm
- PGM outputs 1-14
- Keypad fire/auxiliary/panic alarm
- Get/set panel date and time
- User access code number (1-40)
- Panel AC power
- Panel battery
- Panel trouble
- Keybus connected
-
Homebridge-MQTT: Interfaces with Homebridge via MQTT to integrate with Apple HomeKit (including the iOS Home app and Siri) and Google Home. Demonstrates arming/disarming partitions and for HomeKit, viewing the status of zones, PGM outputs, and fire alarms.
- The dscKeybusInterface-RTOS library includes a native HomeKit implementation that runs directly on esp8266, without requiring a separate device running MQTT or Homebridge.
-
HomeAssistant-MQTT: Interfaces with Home Assistant via MQTT. Demonstrates arming/disarming partitions and viewing the status of zones, PGM outputs, fire alarms, and trouble. For esp8266/esp32, the partition status is available as a text message for display.
-
OpenHAB-MQTT: Interfaces with OpenHAB via MQTT. Demonstrates using the panel and partitions states as OpenHAB switches and zone states as OpenHAB contacts. For esp8266/esp32, a panel status message is also sent as a string to OpenHAB. See https://github.com/jimtng/dscalarm-mqtt for an integration using the Homie convention for OpenHAB's Homie MQTT component.
-
ESPHome (esp8266): Integrates with ESPHome as a custom component - note that this example is located in the
extras
directory. Thanks to Dilbert66 for this contribution! -
Homey: Integrates with Athom Homey and the Homeyduino library, including armed, alarm, and fire states (currently limited to one partition), and zone states. Thanks to MagnusPer for contributing this example!
-
Telegram (esp8266/esp32): Demonstrates sending status updates and arming/disarming the security system via a Telegram bot.
-
Pushbullet (esp8266/esp32): Demonstrates sending status updates as a push notification via Pushbullet.
-
Twilio-SMS (esp8266/esp32): Demonstrates sending status updates as an SMS text message via Twilio - thanks to ColingNG for contributing this example!
-
Email (esp8266/esp32): Demonstrates sending status updates as an email. Email is sent using SMTPS (port 465) with SSL for encryption - this is necessary on the esp8266/esp32 until STARTTLS can be supported. For example, this will work with Gmail after changing the account settings to allow less secure apps.
This can be used to send SMS text messages if the number's service provider has an email to SMS gateway - examples for the US:
- T-mobile: 5558675309@tmomail.net
- Verizon: 5558675309@vtext.com
- Sprint: 5558675309@messaging.sprintpcs.com
- AT&T: 5558675309@txt.att.net
-
VirtualKeypad-Blynk (esp8266/esp32): Provides a virtual keypad interface for the free Blynk app on iOS and Android, including viewing alarm memory, programming zone lights, and the event buffer. Scan one of the following QR codes from within the Blynk app for an example keypad layout:
Note: Installing Blynk as a local server is recommended to keep control of the security system internal to your network. This also lets you use as many widgets as needed for free - local servers can setup users with any amount of Blynk Energy. Using the default Blynk cloud service with the above example layouts requires more of Blynk's Energy units than available on the free usage tier.
-
VirtualKeypad-Web (esp8266/esp32): Provides a virtual keypad web interface, using the esp8266/esp32 itself as a standalone web server, including viewing alarm memory, programming zone lights, and the event buffer. Thanks to Elektrik1 for contributing this example!
-
TimeSyncNTP: Synchronizes and maintains the panel time via an NTP server, including DST adjustments.
-
Unlocker: Checks all possible 4-digit installer codes until a valid code is found, including handling keypad lockout if enabled. The valid code is output to serial as well as repeatedly flashed with the built-in LED.
-
KeybusReader: Decodes and prints data from the Keybus to a serial interface, including reading from serial for the virtual keypad. This can be used to help decode the Keybus protocol and is also handy as a troubleshooting tool to verify that data is displayed without errors. For esp8266/esp32,
KeybusReaderIP
enables connectivity over WiFi.See
src/dscKeybusPrintData.cpp
for all currently known Keybus protocol commands and messages. Issues and pull requests with additions/corrections are welcome!
More DSC projects
- dscalarm-mqtt: implementation of the Homie MQTT convention
- esphome-dsckeybus: implementation of this library as an ESPHome custom component
- PC1500KeybusReader: MQTT HomeKit example for the PC1500 and ESP32 using dougkpowers/pc1550-interface
Wiring
DSC Aux(+) ---+--- Arduino Vin pin
|
+--- 5v voltage regulator --- esp8266 NodeMCU / Wemos D1 Mini 5v pin
esp32 development board 5v pin
DSC Aux(-) --- Arduino/esp8266/esp32 Ground
Arduino +--- dscClockPin (Arduino Uno: 2,3)
DSC Yellow ---+--- 15k ohm resistor ---|
| +--- 10k ohm resistor --- Ground
|
| esp8266/esp32 +--- dscClockPin (esp8266: D1,D2,D8 / esp32: 4,13,16-39)
+--- 33k ohm resistor ---|
+--- 10k ohm resistor --- Ground
Arduino +--- dscReadPin (Arduino Uno: 2-12)
DSC Green ----+--- 15k ohm resistor ---|
| +--- 10k ohm resistor --- Ground
|
| esp8266/esp32 +--- dscReadPin (esp8266: D1,D2,D8 / esp32: 4,13,16-39)
+--- 33k ohm resistor ---|
+--- 10k ohm resistor --- Ground
Virtual keypad (optional):
DSC Green ---- NPN collector --\
|-- NPN base --- 1k ohm resistor --- dscWritePin (Arduino Uno: 2-12 / esp8266: D1,D2,D8 / esp32: 4,13,16-33)
Ground --- NPN emitter --/
-
The DSC Keybus operates at ~12.6v, a pair of resistors per data line will bring this down to an appropriate voltage for each microcontroller.
-
Arduino:
- The DSC yellow (clock) line connects to a hardware interrupt pin - for the Uno, these are pins 2 or 3. The example sketches use dscClockPin: 3.
- The DSC green (data) line can be connected to any of the remaining digital pins 2-12. The examples sketches use dscReadPin: 5 and dscWritePin: 6.
- esp8266: connect the DSC lines to GPIO pins that are normally low to avoid putting spurious data on the Keybus: D1 (GPIO5), D2 (GPIO4) and D8 (GPIO15). The example sketches use dscClockPin: D1, dscReadPin: D2, dscWritePin: D8.
- esp32: connect the DSC lines to GPIO pins that do not send signals at boot: 4, 13, 16-39. For virtual keypad, use pins 4, 13, 16-33 - pins 34-39 are input only and cannot be used. The example sketches use dscClockPin: 18, dscReadPin: 19, dscWritePin: 21.
-
Arduino:
-
Virtual keypad uses an NPN transistor and a resistor to write to the Keybus. Most small signal NPN transistors should be suitable, for example:
- 2N3904
- BC547, BC548, BC549
- That random NPN at the bottom of your parts bin (my choice)
-
Power:
- Arduino boards can be powered directly from the DSC panel
-
esp8266/esp32 development boards should use an external voltage regulator set to 5v to the 5v pin:
- LM2596-based step-down buck converter modules are reasonably efficient and commonly available for under $1USD shipped (eBay, Aliexpress, etc) - these are the modules I use.
- MP2307-based step-down buck converter modules (aka Mini360) are also available but some versions run hot with an efficiency nearly as poor as linear regulators.
- Linear voltage regulators (LM7805, etc) will work but are inefficient and run hot - these may need a heatsink.
- esp8266/esp32 boards can also use an external voltage regulator set to 3.3v to the 3.3v pin - this bypasses the module's onboard voltage regulator. For example, some Wemos D1 mini clones use low current voltage regulators that can cause stability issues. NodeMCU boards are not affected as they use the more powerful AMS1117 regulator.
- Connections should be soldered, breadboards can cause issues.
Virtual keypad
This allows a sketch to send keys to the DSC panel to emulate the physical DSC keypads and enables full control of the panel from the sketch or other software.
Keys are sent to partition 1 by default and can be changed to a different partition. The following keys can be sent to the panel - see the examples for usage:
-
Keypad:
0-9 * #
-
Arm stay (requires access code if quick arm is disabled):
s
-
Arm away (requires access code if quick arm is disabled):
w
-
Arm with no entry delay (requires access code):
n
-
Fire alarm:
f
-
Auxiliary alarm:
a
-
Panic alarm:
p
-
Door chime enable/disable:
c
-
Fire reset:
r
-
Quick exit:
x
-
Change partition:
/
+partition number
or setwritePartition
to the partition number. Examples:-
Switch to partition 2 and send keys:
/2
+1234
-
Switch back to partition 1:
/1
-
Set directly in sketch:
dsc.writePartition = 8;
-
Switch to partition 2 and send keys:
-
Command output 1:
[
-
Command output 2:
]
-
Command output 3:
{
-
Command output 4:
}
DSC Configuration
Panel options affecting this interface, configured by *8 + installer code
- see the Unlocker
sketch if your panel's installer code is unknown. Refer to the DSC installation manual for your panel to configure these options:
-
PC1555MX/5015 section
370
, PC1616/PC1832/PC1864 section377
:-
Swinger shutdown: By default, the panel will limit the number of alarm commands sent in a single armed cycle to 3 - for example, a zone alarm being triggered multiple times will stop reporting after 3 alerts. This is to avoid sending alerts repeatedly to a third-party monitoring service, and also affects this interface. As I do not use a monitoring service, I disable swinger shutdown by setting this to
000
. -
AC power failure reporting delay: The default delay is 30 minutes and can be set to
000
to immediately report a power failure.
-
Notes
-
For OTA updates on esp8266 and esp32, you may need to stop the interface using
dsc.stop();
:void setup() { ... ArduinoOTA.onStart([]() { dsc.stop(); ...
-
Memory usage can be adjusted based on the number of partitions, zones, and data buffer size specified in
src/dscKeybusInterface.h
. Default settings:- Arduino: up to 4 partitions, 32 zones, 10 buffered commands
- esp8266/esp32: up to 8 partitions, 64 zones, 50 buffered commands
-
PCB layouts are available in
extras/PCB Layouts
- thanks to sjlouw for contributing these designs! -
Support for other platforms depends on adjusting the code to use their platform-specific timers. In addition to hardware interrupts to capture the DSC clock, this library uses platform-specific timer interrupts to capture the DSC data line in a non-blocking way 250μs after the clock changes (without using
delayMicroseconds()
). This is necessary because the clock and data are asynchronous - I've observed keypad data delayed up to 160μs after the clock falls.
Troubleshooting
If you are running into issues:
-
Run the
KeybusReader
example sketch and view the serial output to verify that the interface is capturing data successfully without reporting CRC errors.- If data is not showing up or has errors, check the clock and data line wiring, resistors, and all connections. Breadboards can cause issues, connections should be soldered instead.
-
For virtual keypad, run the
KeybusReader
example sketch and enter keys through serial and verify that the keys appear in the output and that the panel responds.- If keys are not displayed in the output, verify the transistor pinout, base resistor, and wiring connections.
-
Run the
Status
example sketch and view the serial output to verify that the interface displays events from the security system correctly as partitions are armed, zones opened, etc.
References
AVR Freaks - DSC Keybus Protocol: An excellent discussion on how data is sent on the Keybus.
stagf15/DSC_Panel: A library that nearly works for the PC1555MX but had timing and data errors. Writing this library from scratch was primarily a programming exercise, otherwise it should be possible to patch the DSC_Panel library.
dougkpowers/pc1550-interface: An interface for the DSC Classic series.
- 功率驅(qū)動(dòng)器件與MCU/DSC接口電路設(shè)計(jì)技巧
- 上海和晟DSC-TGA近期測(cè)試數(shù)據(jù)
- CAN總線接口EMC標(biāo)準(zhǔn)電路設(shè)計(jì)方案 206次下載
- CAN總線接口模塊 23次下載
- 箭載測(cè)試系統(tǒng)總線接口模塊的設(shè)計(jì)與實(shí)現(xiàn) 6次下載
- 使用單片機(jī)總線方式實(shí)現(xiàn)數(shù)碼管接口電路原理圖免費(fèi)下載 13次下載
- 如何使用FPGA實(shí)現(xiàn)ARINC429接口和總線數(shù)據(jù)接收 38次下載
- Genesis2000的常用快捷鍵合集 0次下載
- MDB接口總線通訊協(xié)議中文版資料免費(fèi)下載 0次下載
- 如何使用dsPIC DSC信號(hào)板作為開(kāi)發(fā)工具在目標(biāo)板上仿真和調(diào)試固件
- TMS320F28x 外部接口(XINTF)參考指南 13次下載
- 功率驅(qū)動(dòng)器件與MCU_DSC的接口電路設(shè)計(jì)技巧 10次下載
- 基于SPI總線的醫(yī)療儀器網(wǎng)絡(luò)接口設(shè)計(jì)
- 基于PCI總線的數(shù)據(jù)采集接口設(shè)計(jì)
- 基于FPGA的PCI總線接口設(shè)計(jì)
- 淺談SPI總線通信接口及其協(xié)議 1559次閱讀
- 總線、接口以及協(xié)議之間的關(guān)系 2505次閱讀
- 串行總線、驅(qū)動(dòng)器和物理接口的特性及性能比較 2900次閱讀
- USB3.0接口的總線速度有上限嗎 4425次閱讀
- CAN總線的原理、通信接口設(shè)計(jì)及在航天衛(wèi)星中的應(yīng)用研究 3342次閱讀
- 采用CAN總線控制器SJA1000實(shí)現(xiàn)控制電路接口的設(shè)計(jì) 7430次閱讀
- 沁恒股份PCIE總線接口芯片:CH367概述 4508次閱讀
- 基于MCS-51單片機(jī)I2C總線接口電路的設(shè)計(jì) 3245次閱讀
- 基于CAN總線接口卡的軟件設(shè)計(jì) 1519次閱讀
- 基于GPIB接口總線的虛擬儀器詳解 1w次閱讀
- dsc與dta有什么區(qū)別 4.3w次閱讀
- 基于FPGA的1553B總線接口設(shè)計(jì)與驗(yàn)證 2w次閱讀
- 基于I2C總線的銀行排隊(duì)系統(tǒng)接口設(shè)計(jì) 1515次閱讀
- 基于PCI局部總線的1553B總線接口卡設(shè)計(jì) 3267次閱讀
- DSP+FPGA的機(jī)載總線接口板研究 2142次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多