ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² ΡƒΡ‡Ρ‘Π±Π΅, ΠΎΡ‡Π΅Π½ΡŒ быстро...
Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ вмСстС Π΄ΠΎ ΠΏΠΎΠ±Π΅Π΄Ρ‹

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° микропроцСссорной систСмы ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° многоканального источника напряТСния

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π˜Ρ‚ΠΎΠ³ΠΎΠΌ выполнСния курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° систСмы ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°. Π’ Ρ…ΠΎΠ΄Π΅ выполнСния Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ с ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Ρ‹Π±ΠΎΡ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ схСмы ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π½ΠΎΠΉ Π±Π°Π·Ρ‹ систСмы. Π‘Ρ‹Π»Π° спроСктирована ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Π°Ρ схСма систСмы с ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π±Ρ‹Π»ΠΈ составлСны Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° микропроцСссорной систСмы ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° многоканального источника напряТСния (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠ˜ΠΠ˜Π‘Π’Π•Π Π‘Π’Π’Πž ΠžΠ‘Π ΠΠ—ΠžΠ’ΠΠΠ˜Π― И НАУКИ Π Π€ Брянский государствСнный тСхничСский унивСрситСт ΠšΠΠ€Π•Π”Π Π «Π­Π Π­ ΠΈ Π­Π‘»

ΠŸΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ записка ΠΊ ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅

ΠΏΠΎ Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π΅: «ΠžΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ срСдства микропроцСссорных систСм»

Π½Π° Ρ‚Π΅ΠΌΡƒ: «Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° микропроцСссорной систСмы ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° многоканального источника напряТСния»

Π‘Π“Π’Π£.210 106.000 ΠŸΠ—

Брянск 2012

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

1. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ схСма

2. Π’Ρ‹Π±ΠΎΡ€ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ²

3. Π’Ρ‹Π±ΠΎΡ€ АЦП ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°

4. РСализация HART ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°

5. Π˜Π½Π΄ΠΈΠΊΠ°Ρ†ΠΈΡ

6. Π‘Ρ‚ΠΎΡ€ΠΎΠΆΠ΅Π²ΠΎΠΉ Ρ‚Π°ΠΉΠΌΠ΅Ρ€

7. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ‹

8. Листинг

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°

Π’ Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ‹Π»ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ систСму БистСма ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° многоканального источника постоянного напряТСния ΠΏΠΎ HART ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ с ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ значСния Ρ‚ΠΎΠΊΠ° Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΊΠ°Π½Π°Π»Ρƒ. ЦСлью Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠ΅ Π½Π°Π²Ρ‹ΠΊΠΎΠ² Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ высокого уровня Π‘, Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… комплСксах.

1. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ схСма

Рис. 1 — Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ схСма

Π‘ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ‚ΠΎΠΊΠ° снимаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ°. АЦП ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ эти значСния Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ. ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ эти значСния ΠΈ ΠΏΠΎΡΡ‹Π»Π°Π΅Ρ‚ ΠΈΡ… Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€. ЦАП ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ Π² Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚ΠΎΠΊ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ, ноль Π°ΠΌΠΏΠ΅Ρ€ с Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° прСобразуСтся Π² 4 ΠΌΠΈΠ»Π»ΠΈΠ°ΠΌΠΏΠ΅Ρ€Π°, 25 Π°ΠΌΠΏΠ΅Ρ€-20 ΠΌΠΈΠ»Π»ΠΈΠ°ΠΌΠΏΠ΅Ρ€. HART ΠΌΠΎΠ΄Π΅ΠΌ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ сообщСния ΠΎΡ‚ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ устройства ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Π΄Π΅ΠΌΠΎΠ΄ΡƒΠ»ΡΡ†ΠΈΡŽ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ сообщСниС Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€. ПослС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ сообщСния ΠΎΠ½ ΠΏΠΎΡΡ‹Π»Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ модулируСтся ΠΌΠΎΠ΄Π΅ΠΌΠΎΠΌ.

Рис. 2 — ΠžΠ±Ρ‰Π°Ρ Π±Π»ΠΎΠΊ-схСма ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

2. Π’Ρ‹Π±ΠΎΡ€ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ²

По Π·Π°Π΄Π°Π½ΠΈΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ° ΠΎΡ‚ 4-Ρ… источников постоянного напряТСния:1)+5 Π’ (5−20А), 2)+12 Π’ (0.1−1А), 3)+15 Π’ (0.5−2А), 4) -15 Π’ (0.5−2А).

Π’Ρ‹Π±Π΅Ρ€Π΅ΠΌ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ ACS712, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ основан Π½Π° ΡΡ„Ρ„Π΅ΠΊΡ‚Π΅ Π₯ΠΎΠ»Π»Π°, с Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΌ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ ΠΏΠΎ Π½Π°ΠΏΡ€ΡΠΆΠ΅Π½ΠΈΡ.

Рис. 3 — ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ источника напряТСния ACS712ELCTR-30A-TΠ΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ измСряСмого Ρ‚ΠΎΠΊΠ° ±30А.

Рис. 4 — Π“Ρ€Π°Ρ„ΠΈΠΊ зависимости Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ напряТСния ΠΎΡ‚ ΠΈΠ·ΠΌΠ΅Ρ€ΡΠ΅ΠΌΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ° Для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… — ACS712ELCTR-05B-T-Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ измСряСмого Ρ‚ΠΎΠΊΠ° ±5А.

Рис. 5 — Π“Ρ€Π°Ρ„ΠΈΠΊ зависимости Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ напряТСния ΠΎΡ‚ ΠΈΠ·ΠΌΠ΅Ρ€ΡΠ΅ΠΌΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ°

3. Π’Ρ‹Π±ΠΎΡ€ АЦП ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ сСмСйства МК-51 AT89C51RD2.

ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ особСнности:

Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с 80C52 Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с ΠΈΠ½ΡΡ‚рукциями 8051 Π¨Π΅ΡΡ‚ΡŒ 8-разрядных ΠΏΠΎΡ€Ρ‚Π° Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° (64-выводная ΠΈΠ»ΠΈ 68-выводная вСрсии) Π§Π΅Ρ‚Ρ‹Ρ€Π΅ 8-разрядных ΠΏΠΎΡ€Ρ‚Π° Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° (44 -выводная вСрсия) Π’Ρ€ΠΈ 16-разрядных Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°-счСтчика 256 Π±Π°ΠΉΡ‚ свСрхопСративной памяти 9 источников запроса Π½Π° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ с 4 уровнями ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°.

Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ питания (POR/PFD) для контроля Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ питания.

ВнутрисхСмноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ISP ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ стандартноС ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ Vсс.

Π—Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠ΅ ΠŸΠ—Π£ содСрТит ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня для программирования Ρ„Π»ΡΡˆ-памяти ΠΈ ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ

Π’Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° 40 ΠœΠ“Ρ† Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ 20 ΠœΠ“Ρ† Ρ€Π΅ΠΆΠΈΠΌΠ΅ X2 (6 Ρ‚Π°ΠΊΡ‚ΠΎΠ² Π² ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅)

64 ΠΊΠ‘ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΠΎΠΉ Ρ„Π»ΡΡˆ-памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ/Π΄Π°Π½Π½Ρ‹Ρ… ΠŸΠΎΠ±Π°ΠΉΡ‚Π½Π°Ρ ΠΈ ΠΏΠΎΡΡ‚раничная (128 Π±Π°ΠΉΡ‚) очистка ΠΈ Π·Π°ΠΏΠΈΡΡŒ 100 000 Ρ†ΠΈΠΊΠ»ΠΎΠ² записи.

ВстроСнноС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ΅ ΠžΠ—Π£ Π΅ΠΌΠΊΠΎΡΡ‚ΡŒΡŽ 1792 Π±Π°ΠΉΡ‚ (XRAM) ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ (0, 256, 512, 768, 1024, 1792 Π±Π°ΠΉΡ‚) 768 Π±Π°ΠΉΡ‚ выбираСтся ΠΏΡ€ΠΈ сбросС для совмСстимости с T89C51RD2.

ВстроСнныС 2048 Π±Π°ΠΉΡ‚ Π­ΠŸΠŸΠ—Π£ для хранСния Π΄Π°Π½Π½Ρ‹Ρ… (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ AT89C51ED2) 100 000 Ρ†ΠΈΠΊΠ»ΠΎΠ² записи.

Π”Π²ΠΎΠΉΠ½ΠΎΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π΄Π»ΠΈΠ½Π° инструкции MOVX для доступа ΠΊ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠžΠ—Π£ ΠΈ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹ΠΌ устройствам.

Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ X2 с Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡ‹ΠΌΠΈ настройками ЦПУ ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ устройства.

ΠšΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½Ρ‹ΠΉ интСрфСйс Π½Π° ΠΏΠΎΡ€Ρ‚Π΅ 1 с Ρ„ункциям прСрывания.

SPI-интСрфСйс (Ρ€Π΅ΠΆΠΈΠΌ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ/ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½Ρ‹ΠΉ)

8-разрядный ΠΏΡ€Π΅Π΄Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹Ρ… ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ²

16-разрядный ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ счСтный массив Π‘Ρ‹ΡΡ‚Ρ€ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Ρ…ΠΎΠ΄ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ сравнСния ΠΈ Π·Π°Ρ…Π²Π°Ρ‚Π° Ρ„Ρ€ΠΎΠ½Ρ‚ΠΎΠ² Π¨ΠΈΡ€ΠΎΡ‚Π½ΠΎ-ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ½Π°Ρ модуляция БовмСстимый стороТСвой Ρ‚Π°ΠΉΠΌΠ΅Ρ€

Π’Ρ‹Π²ΠΎΠ΄ асинхронного сброса

ΠŸΠΎΠ»Π½ΠΎΠ΄ΡƒΠΏΠ»Π΅ΠΊΡΠ½Ρ‹ΠΉ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹ΠΉ УАПП с Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½Ρ‹ΠΌ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ скорости ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ

ΠœΠ°Π»Ρ‹Π΅ элСктромагнитныС излучСния (Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ ALE)

Аппаратный стороТСвой Ρ‚Π°ΠΉΠΌΠ΅Ρ€ (ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ послС сброса), Ρ„Π»Π°Π³ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ питания

Π Π΅ΠΆΠΈΠΌΡ‹ управлСния энСргопотрСблСниСм: Ρ€Π΅ΠΆΠΈΠΌ холостого Ρ…ΠΎΠ΄Π° (Idle), экономичный (Power-down) Ρ€Π΅ΠΆΠΈΠΌ

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ напряТСния питания: 2.7Π’…5.5Π’

ΠŸΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹ΠΉ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (-40 …+85Β°C)

Для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигнала с Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² цСлСсообразно Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ‡Π΅Ρ‚Ρ‹Ρ€Ρ‘Ρ…ΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ АЦП ADS7841 со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ:

напряТСниС питания: 2.7−5 Π’ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ: 12 Π±ΠΈΡ‚ число ΠΊΠ°Π½Π°Π»ΠΎΠ²: 4

ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ 8 Π±ΠΈΡ‚Π½ΠΎΠΉ разрядности Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ источника ΠΎΠΏΠΎΡ€Π½ΠΎΠ³ΠΎ напряТСния для АЦП ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ микросхСму ИОН AD586M (+5Π’), Π·Π°ΠΏΠΈΡ‚Π°Π² Π΅Ρ‘ ΠΎΡ‚ ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ° +15 Π’.

Рис. 6 — Π‘Ρ…Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ADS7841

Рис. 7 — Π‘Π»ΠΎΠΊ-схСма ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ АЦП Рис. 8 — Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ АЦП Π’ ΡΠΎΠΎΡ‚вСтствиС с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ ΠΈ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΎΠΌ напишСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

Линия DIN: старт-Π±ΠΈΡ‚ устанавливаСм Π² 1.

А2,А1,А0-мСняСм значСния Π² ΡΠΎΠΎΡ‚вСтствиС с Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠΌ.

MODEустанавливаСм Π² 1(12 Π±ΠΈΡ‚Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ).

SGL-1.

PD1, PD0−1(Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Ρ€Π΅ΠΆΠΈΠΌ энСргосбСрСТСния)

while (B>0)

=DOUT;

DCLK=1;

DCLK=0;

B—;

Π’ ΡΡ‚ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ 12 разрядов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ АЦП. Π’Π½Π°Ρ‡Π°Π»Π΅ ΠΈΠ΄Π΅Ρ‚ ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ разряд-поэтому сдвигаСм Π΅Π³ΠΎ 11 Ρ€Π°Π·. Π’ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ KOD_ADC[x] Π²Π½Π°Ρ‡Π°Π»Π΅ записаны Π½ΡƒΠ»ΠΈ, поэтому послС выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π˜Π›Π˜ с DOUT (Π±ΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ АЦП), Π² KOD_ADC[x] записываСтся 1, Ссли DOUT=1, ΠΈ ΠΎΡΡ‚аСтся 0 Ссли DOUT=0.

Ρ…-это Π½ΠΎΠΌΠ΅Ρ€ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ напряТСния ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ оцифровываСтся.

x++ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ послС опроса АЦП.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ†ΠΈΠΊΠ»Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ АЦП Π½Π° Ρ‚Π΅, Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Ρ‰Π΅ Π½Π΅ ΠΎΠΏΡ€ΠΎΡΠΈΠ»ΠΈ. Π”Π΅Π»Π°Π΅ΠΌ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ измСнСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… А2, А1,А0.

if (x==1)

{A2=1;A1=0;A0=1;}

else

{

if (x==2)

{A2=0;A1=1;A0=0;} // ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π°Ρ†ΠΏ

else

{

if (x==3)

{A2=1;A1=1;A0=0;}

else

{

A2=0;A1=0;A0=1;

x=0;

}}}

Π’Π²ΠΈΠ΄Ρƒ отсутствия Π΄Π°Π½Π½ΠΎΠ³ΠΎ АЦП Π² ΠΏΡ€ΠΎΡ‚СусС ΠΈ Π½Π΅ΠΎΠ±Ρ…одимости ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ модСлирования, Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Keil, ΠΏΡƒΡ‚Π΅ΠΌ измСнСния Π 1.4 ΠΈ Π΄ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строчСк ΠΊΠΎΠ΄Π° для Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΠΏΠΎΡ€Ρ‚Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ значСния.

Π‘Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ напряТСниС 3.333Π’-Ρ‚.Π΅. Π 1.4 измСнялся Ρ‚Π°ΠΊ 101 010 101 010. На ΠΏΠΎΡ€Ρ‚ Π 3-Ρ†Π΅Π»ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π 5, Π 4-Π΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ Рис. 9 — Код АЦП Π² Keil

Рис. 10 — Π‘ΠΈΠ³Π½Π°Π»Ρ‹ Π² Keil

4. РСализация HART ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°

HART-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» — Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΠΎΠ΄ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ сигнал, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΡΠΎΡΡ‚оянии Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° ΠΈΠ»ΠΈ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ настройку, накладываСтся Π½Π° Ρ‚ΠΎΠΊΠΎΠ²ΡƒΡŽ Π½Π΅ΡΡƒΡ‰ΡƒΡŽ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ Ρ‚ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ΅Ρ‚Π»ΠΈ уровня 4−20 мА. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°, снятиС Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΠΉ ΠΈ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ осущСствляСтся ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌ. HART-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» это практичСски стандарт для соврСмСнных ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ². ΠŸΡ€ΠΈΡ‘ΠΌ сигнала ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΉΠΊΠ° Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ HART-ΠΌΠΎΠ΄Π΅ΠΌΠ° ΠΈΠ»ΠΈ HART-ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°. К ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°Ρ€Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ нСсколько Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ². HART ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ частотной модуляции для ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΠΈ 1200 Π±ΠΎΠ΄. Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ логичСской «1» HART ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ частоты 1200 Π“Ρ†, Π° Π΄Π»Ρ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ логичСского «0» — Π΄Π²Π° Π½Π΅ΠΏΠΎΠ»Π½Ρ‹Ρ… ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° 2200 Π“Ρ†. HART ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ накладываСтся Π½Π° Ρ‚ΠΎΠΊΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ‚Π»ΡŽ 4−20 мА. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ срСднСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ синусоиды Π·Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Ρ€Π°Π²Π½ΠΎ «0», Ρ‚ΠΎ HART сигнал Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Π²Π»ΠΈΡΠ΅Ρ‚ Π½Π° Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ сигнал 4−20 мА. HART ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» построСн ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ «Π’Π΅Π΄ΡƒΡ‰ΠΈΠΉ — Π’Π΅Π΄ΠΎΠΌΡ‹ΠΉ», Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»Π΅Π²ΠΎΠ΅ устройство ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠΏΠΎ Π·Π°ΠΏΡ€ΠΎΡΡƒ систСмы.

Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ° Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ UART ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π² 3-ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π’ ΡΡ‚ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‡Π΅Ρ€Π΅Π· TXD ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ ΠΈΠ· RXD ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ 11 Π±ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ: старт-Π±ΠΈΡ‚, 8 Π±ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ дСвятый Π±ΠΈΡ‚ ΠΈ ΡΡ‚ΠΎΠΏ-Π±ΠΈΡ‚. Частоты ΠΏΡ€ΠΈΠ΅ΠΌΠ°/ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ задаётся Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠΌ.

Π’Π°ΠΉΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π°Π²Ρ‚ΠΎΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. ΠŸΠΎΡΡ‡ΠΈΡ‚Π°Π΅ΠΌ число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² TH1, для обСспСчСния скорости 1200 Π±ΠΈΡ‚/c.

f = (2SMOD/32)*(fΡ€Π΅Π·/12)/(256-(TH1))=>

TH1=232

Π’Ρ‹Π±ΠΎΡ€ частоты Ρ€Π΅Π·ΠΎΠ½Π°Ρ‚ΠΎΡ€Π° fΡ€Π΅Π·= 11,0592 ΠœΠ“Ρ†.

Для частотной модуляции сообщСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ HART Modem DS8500.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ DS8500

ΠΎΠ΄Π½ΠΎΠΊΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для полудуплСксной ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ, 1200 Π±ΠΎΠ΄ FSK-модуляция ΠΈ Π΄Π΅ΠΌΠΎΠ΄ΡƒΠ»ΡΡ†ΠΈΡ;

цифровая сигнальная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° обСспСчиваСт Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ΅ Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала Π² Π·Π°ΡˆΡƒΠΌΠ»Π΅Π½Π½ΠΎΠΉ срСдС;

ΡΠΈΠ½ΡƒΡΠΎΠΈΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ сигнал с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ гармоничСскими искаТСниями;

всСго лишь Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ устройства;

стандартная тактовая частота 3,6864 ΠœΠ“Ρ†;

ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ трСбованиям спСцификации HART Π½Π° Ρ„изичСском ΡƒΡ€ΠΎΠ²Π½Π΅;

напряТСниС питания Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 2,7…3,6 Π’;

ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΎΠΊ потрСблСния 285 мкА;

ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½Ρ‹ΠΉ 20-Π²Ρ‹Π²ΠΎΠ΄Π½ΠΎΠΉ корпус TQFN с Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ 5Π§5Π§0,8 ΠΌΠΌ.

Когда начинаСтся ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° сигнал OCD ΠΌΠΎΠ΄Π΅ΠΌ устанавливаСт Π² 1.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΎΡ‚ ΡΠΈΠ³Π½Π°Π»Π° OCD, Π° Ρ‚.ΠΊ. ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ осущСствляСтся ΠΎΡ‚ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΎΠ³ΠΎ 0, Π° Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ OCD=1, Ρ‚ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΠΌ логичСский ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΎΡ€ SN74LVC1G04.

Рис. 11 — Π‘Ρ…Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ DS8500

ΠžΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ΅ΠΌ-ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ HART сообщСния Π±ΡƒΠ΄Π΅ΠΌ Π² ΡΠΎΠΎΡ‚вСтствии с Ρ€ΠΈΡ. 12.

Рис. 12 — ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ЦАП ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ AD421 с Ρ‚ΠΎΠΊΠΎΠ²Ρ‹ΠΌ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ 4 мА — 20 мА

AD420 — Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² Ρ‚ΠΎΠΊΠΎΠ²Ρ‹ΠΉ сигнал, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ для Ρ€Ρ‹Π½ΠΊΠ° ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… систСм управлСния. Он ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ, Π½ΠΈΠ·ΠΊΡƒΡŽ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ‚ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ сигнала Π½Π° ΠΎΠ΄Π½ΠΎΠΉ микросхСмС ΠΈ ΠΏΠΎΡΡ‚авляСтся Π² ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠΌ 24-Π²Ρ‹Π²ΠΎΠ΄Π½ΠΎΠΌ SOIC ΠΈΠ»ΠΈ PDIP корпусах.

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Ρ‚ΠΎΠΊΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° 4 мА-20мА, 0 мА-20 мА ΠΈΠ»ΠΈ Π½Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ 0 мА-24 мА. AD420 ΠΌΠΎΠΆΠ΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡΠΈΠ³Π½Π°Π» напряТСния с Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ 0 Π’-5 Π’, 0 Π’-10 Π’, ±5 Π’ ΠΈΠ»ΠΈ ±10 Π’ с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ внСшним Π±ΡƒΡ„Π΅Ρ€Π½Ρ‹ΠΌ усилитСлСм.

НаличиС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ интСрфСйса со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ 3.3 ΠœΠ±ΠΈΡ‚/с ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ устройств с Π³Π°Π»ΡŒΠ²Π°Π½ΠΈΡ‡Π΅ΡΠΊΠΎΠΉ развязкой ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ простоС присоСдинСниС ΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π°ΠΌ. Он ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ‚Ρ€Π΅Ρ…ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ асинхронном Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…, Π²Ρ‹Ρ…ΠΎΠ΄ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡˆΠ»Π΅ΠΉΡ„Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ЦАП Π½Π° Ρ‚ΠΎΠΉ ΠΆΠ΅ сторонС изоляционного Π±Π°Ρ€ΡŒΠ΅Ρ€Π°.

AD420 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ сигма-Π΄Π΅Π»ΡŒΡ‚Π° Ρ†ΠΈΡ„Ρ€ΠΎ-Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ прСобразования для обСспСчСния 16-разрядного прСобразования ΠΈ Π½ΠΈΠ·ΠΊΠΎΠΉ стоимости. ВрСмя установлСния Π²Ρ‹Ρ…ΠΎΠ΄Π° Π²ΠΎ Π²ΡΠ΅ΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΡˆΠΊΠ°Π»Ρ‹ составляСт 0.1% Π·Π° 3 мс. ЕдинствСнно Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ навСсныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ (для Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΎΠΉ схСмы Π·Π°Ρ‰ΠΈΡ‚Ρ‹) — Π΄Π²Π° Π½Π΅Π΄ΠΎΡ€ΠΎΠ³ΠΈΡ… кондСнсатора для встроСнного Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°.

Рис. 13 — ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ AD420

По Π¦ΠΠŸ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ° Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ‡Ρ‚ΠΎ:

0А-4мА

25А-20мА.

Π’.Π΅. Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ° Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Π½Π° 0.64 ΠΈ ΠΏΡ€ΠΈΠ±Π°Π²ΠΈΡ‚ΡŒ 4.

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ установлСния Ρ€Π΅ΠΆΠΈΠΌΠ° UART ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ΠΌ ΡΠΈΠΌΡƒΠ»ΡΡ†ΠΈΡŽ Π² ΠΏΡ€ΠΎΡ‚СусС.

ΠŸΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ число 1:

Рис. 14 — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ модСлирования ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠΎ UART

Рис. 15 — Π‘Π»ΠΎΠΊ-схСма ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ-ΠΏΡ€ΠΈΠ΅ΠΌΠ° HART

Для суммированиС 2-Ρ… Ρ‚ΠΎΠΊΠΎΠ² ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΡƒΡΠΈΠ»ΠΈΡ‚Π΅Π»ΡŒ Ρ‚ΠΎΠΊΠ° OPA660

Рис. 16 — МодСль Π² OrCADE OPA660

Рис. 17 — Π’Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΠΊ

5. Π˜Π½Π΄ΠΈΠΊΠ°Ρ†ΠΈΡ

Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ LM032L.

ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

Π’Π½Π°Ρ‡Π°Π»Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ дисплСй-это выполняСт ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° LCD_init (). Π”Π°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ‚ ΡƒΠΆΠ΅ собствСнно ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ значСния Ρ‚ΠΎΠΊΠ°.

Рис. 18 -Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ модСлирования ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°

6. Π‘Ρ‚ΠΎΡ€ΠΎΠΆΠ΅Π²ΠΎΠΉ Ρ‚Π°ΠΉΠΌΠ΅Ρ€

Для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ Π·Π°Π²ΠΈΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ встроСнный Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Watchdog Timer.

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ (ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°) Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° производится Ρ‚Π°ΠΊ:

WDTRST=0x1E;

WDTRST=0xE1;

Если Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся установлСнноС число ΠΌΠ°ΡˆΠΈΠ½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ², Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

Π—Π°ΠΏΠΈΡˆΠ΅ΠΌ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ WDTPRG число 7. Π’ΠΎΠ³Π΄Π° число ΠΌΠ°ΡˆΠΈΠ½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π½ΠΎ 221−1, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ нашСй частотС (11,0592ΠœΠ“Ρ†) соотвСствуСт 2.268 сСкундам.

7. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ‹

ΠŸΠ»Π°Ρ‚Ρƒ систСмы управлСния Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ Π½Π° Π΄Π²ΡƒΡ…стороннСм Ρ„ΠΎΠ»ΡŒΠ³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ стСклотСкстолитС FR-4, Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½ΠΎΠΉ 1.5 ΠΌΠΌ.

ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ‚Π°ΠΉΠΌΠ΅Ρ€ ΠΏΠ»Π°Ρ‚Π° Рис. 19 — РасполоТСниС корпусов

8. Листинг

C51 COMPILER V9.50a STARTUP 12/27/2012 01:05:46 PAGE 1

C51 COMPILER V9.50a, COMPILATION OF MODULE STARTUP

OBJECT MODULE PLACED IN STARTUP. OBJ

COMPILER INVOKED BY: C: KeilC51BINC51. EXE STARTUP.C LARGE BROWSE DEBUG OBJECTEXTEND TABS (2)

line level source

1 #include

2 #include // Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, содСрТащая _nop_

3 #include

4 #include

5 #define E_Strobe E = 1; _nop_(); E = 0

7 ///—————-АЦП———————////

8 sbit CS=P10;

9 sbit DCLK= P11;

10 sbit DIN= P12;

11 sbit BUSY= P13;

12 sbit DOUT=P14;

13 ///—————-HART Modem———————////

14 //sbit RxD=P30; //Π²Π²ΠΎΠ΄

15 // sbit TxD=P31; //Π²Ρ‹Π²ΠΎΠ΄

16 // sbit OCD=P32;

17 sbit RTS=P33;

18 sbit RST=P36;

19 ///—————-ЦАП———————////

20 sbit CLOCK=P15;

21 sbit DATA= P16;

22 sbit LATCH= P17;

23 ///—————-Π˜Π½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€———————////

24 sbit RS=P20;

25 sbit RW=P21;

26 sbit E=P23;

27 sbit BUSY_I=P07; //!!

30 ///—————-Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅———————////

31 float I[4];

32 unsigned char txtbuf1[10];

33 unsigned char txtbuf2[10];

34 unsigned char txtbuf3[10];

35 unsigned char txtbuf4[10];

38 //// ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° HART

39 void HART () interrupt 0 using 1 // ΠΎΡ‚ INT0 P3.2 1 Π±Π°Π½ΠΊ

40 {unsigned char nomer_byte=0, Vsego_byte=100; // Vsego_byte ΠΏΠΎΠΊΠ° нСизвСстно

41 1 unsigned char PREAMBLE=0xFF, PR=0, STRT=6, BCNT=2, STATUS[2], CHK;

42 1 unsigned char COM, ADDR; // ΠΊΠΎΠΌΠ°Π½Π΄Π° адрСс

43 1 unsigned char PRIEM[10], bit_chetnosti[10];

44 1

45 1 /// ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ЦАП

46 1 int kod_DAC[4];

47 1 char sdvig=15;

48 1 double I_mA[4];

49 1 int kod_na_1mA=2048;

50 1

51 1

52 1

53 1 RST=0; // reset ΠΌΠΎΠ΄Π΅ΠΌ

54 1

55 1

C51 COMPILER V9.50a STARTUP 12/27/2012 01:05:46 PAGE 2

56 1 ///// ΠΏΡ€ΠΈΡ‘ΠΌ

57 1

58 1

59 1

60 1 TMOD = 0×20; //1 Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π°Π²Ρ‚ΠΎΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

61 1 TH1 = 232; //ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ 1200 битс

62 1 TR1=1; // запуск Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°

63 1

64 1 while (nomer_byte

65 1 {REN=1; // Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ°

66 2 while (RI==0) {}

67 2

68 2 PRIEM[nomer_byte]=SBUF;

69 2 bit_chetnosti[nomer_byte]=TB8;// ΡƒΠ·Π½Π°Ρ‘ΠΌ Π±ΠΈΡ‚ чСтности для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ

70 2 ACC=PRIEM[nomer_byte]; // ΡƒΠ·Π½Π°Ρ‘ΠΌ P

71 2 if (P≠bit_chetnosti[nomer_byte])

72 2 {goto Exit; //ошибка, Ρ‡Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ

73 3}

74 2 RI=0;

75 2

76 2 nomer_byte++;

77 2 if (nomer_byte==8) // BCNT

78 2 {Vsego_byte=0+10; //Vsego_byte=PRIEM[8]+10;

79 3 ADDR=PRIEM[6]; // ΡƒΠ·Π½Π°Π»ΠΈ адрСс Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°

80 3 COM=PRIEM[7]; // ΡƒΠ·Π½Π°Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

81 3}}

82 1

83 1 if (PRIEM[9] ≠(PRIEM[5]^PRIEM[6]^PRIEM[7]^PRIEM[8])) // провСряСм ΠΊΠΎΠ½Ρ‚Ρ€ сумму

84 1 {goto Exit; //нСсоотвСтсвиС ΠΊΠΎΠ½Ρ‚Ρ€ суммС

85 2}

86 1

87 1 STATUS[0]=0; // всё ΠΎΠΊ

88 1 STATUS[1]=0;

89 1 REN=0; // Π·Π°ΠΏΡ€Π΅Ρ‚ ΠΏΡ€ΠΈΠ΅ΠΌΠ°

90 1

91 1

92 1 /////// ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡a

93 1 RTS=1; // ΠΈΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π² ΠΌΠΎΠ΄Π΅ΠΌ

94 1 CHK=STRT^ADDR^COM^BCNT^STATUS[0]^STATUS[1]; // ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма=искл-ΠΈΠ»ΠΈ

95 1

96 1

97 1 TH1 = 232;

98 1 while (PR<5) // ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ ΠΏΡ€Π΅Π°ΠΌΠ±ΡƒΠ»Ρƒ

99 1 {ACC=PREAMBLE; //для контроля чСтности

100 2 TB8=P;

101 2 SBUF=PREAMBLE;

102 2 while (TI==0) {}

103 2 TI=0;

104 2 PR++;

105 2}

106 1

107 1 ACC=STRT; //для контроля чСтности

108 1 TB8=P;

109 1 SBUF=STRT; // ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ STRT

110 1 while (TI==0) {}

111 1 TI=0;

112 1

113 1 ACC=ADDR;

114 1 TB8=P;

115 1 SBUF=ADDR; // ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ адрСс

116 1 while (TI==0) {}

117 1 TI=0;

C51 COMPILER V9.50a STARTUP 12/27/2012 01:05:46 PAGE 3

118 1

119 1 ACC=COM;

120 1 TB8=P;

121 1 SBUF=COM; //

122 1 while (TI==0) {}

123 1 TI=0;

124 1

125 1 ACC=BCNT;

126 1 TB8=P;

127 1 SBUF=BCNT; //количСство ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ Π±Π°ΠΉΡ‚

128 1 while (TI==0) {}

129 1 TI=0;

130 1

131 1 ACC=STATUS[0];

132 1 TB8=P;

133 1 SBUF=STATUS[0]; //

134 1 while (TI==0) {}

135 1 TI=0;

136 1

137 1 ACC=STATUS[1];

138 1 TB8=P;

139 1 SBUF=STATUS[1]; //

140 1 while (TI==0) {}

141 1 TI=0;

142 1 ACC=CHK;

143 1 TB8=P;

144 1 SBUF=CHK; // ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма

145 1 while (TI==0) {}

146 1 TI=0;

147 1

148 1

149 1 ///—————ЦАП——————////

150 1 I_mA[ADDR]=0.64*I[ADDR]+4; //

151 1 kod_DAC[ADDR]=I_mA[ADDR]*kod_na_1mA; // ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄ ЦАП

152 1

153 1 // Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ

154 1 CLOCK=0;

155 1 DATA=0;

156 1 LATCH=0;

157 1

158 1 LATCH=1;

159 1 DATA=(kod_DAC[ADDR]>>sdvig)&1; //выдСляСм ΡΡ‚Π°Ρ€ΡˆΠΉ Π±ΠΈΡ‚

160 1 P3=DATA; //

161 1

162 1 LATCH=0;

163 1 CLOCK=1;

164 1 CLOCK=0;

165 1 sdvig—;

166 1

167 1 while (sdvig>=0)

168 1 {DATA=(kod_DAC[ADDR]>>sdvig)&1;

169 2 CLOCK=1;

170 2 CLOCK=0;

171 2 sdvig—;

172 2}

173 1

174 1 Exit:

175 1 REN=0; // Π·Π°ΠΏΡ€Π΅Ρ‚ ΠΏΡ€ΠΈΠ΅ΠΌΠ°

176 1 TR1=0; // Π²Ρ‹ΠΊΠ» Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°

177 1 RTS=0; // ΠΊΠΎΠ³Π΄Π° 1 ΠΈΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π² ΠΌΠΎΠ΄Π΅ΠΌ

178 1}

C51 COMPILER V9.50a STARTUP 12/27/2012 01:05:46 PAGE 4

180 //индикация

182 void check_busy (void)

183 {do

184 1 {P0 = 0xff;

185 2 E = 0;

186 2 RS = 0;

187 2 RW = 1;

188 2 E = 1;

189 2} while (BUSY==1);

190 1 E = 0;

191 1}

192 void write_command (unsigned char com)

193 {check_busy ();

194 1 RS = 0;

195 1 RW = 0;

196 1 P0 = com;

197 1 E_Strobe;

198 1}

199 void write_data (unsigned char dat)

200 {check_busy ();

201 1 RS = 1;

202 1 RW = 0;

203 1 P0 = dat;

204 1 E_Strobe;

205 1}

206 void LCD_init (void)

207 {write_command (0×38); // 8-bits, 2 lines, 7×5 dots

208 1 write_command (0x0C); // no cursor, no blink, enable display

209 1 write_command (0×06); // auto-increment on

210 1 write_command (0×01); // clear screen

211 1}

212 void string (unsigned char ad, unsigned char *s)

213 {write_command (ad);

214 1 while (*s>0)

215 1 {write_data (*s++);

216 2}

217 1}

227 ///////////////

228 void main ()

229 {int KOD_ADC[4];

230 1 char B=12,x=0, A2=0,A1=0,A0=1;

231 1 float U[4], Razreshenie_ADC;

232 1 int N1, N2, N3, N4; //для ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ†ΠΈΠΈ

233 1

234 1 Razreshenie_ADC=5.0/4096;

235 1

236 1 SM0=1;

237 1 SM1=1; // Ρ€Π΅ΠΆΠΈΠΌ 3 ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π° старт-Π±ΠΈΡ‚ (0), 8Π±ΠΈΡ‚, Π±ΠΈΡ‚ Π’Π’8, стоп-Π±ΠΈΡ‚ (1)

238 1 EA=1; // Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ

239 1 EX0=1; // Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΎΡ‚ INT0

240 1 RTS=0; // ΠΊΠΎΠ³Π΄Π° 1 ΠΈΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π² ΠΌΠΎΠ΄Π΅ΠΌ

241 1

C51 COMPILER V9.50a STARTUP 12/27/2012 01:05:46 PAGE 5

242 1 WDTPRG=7; //2.09 сСкунд ΠΏΡ€ΠΈ 12 MHz watch dogs timer

243 1

244 1 ////////АЦП

245 1 while (1)

246 1 {P1=0xF0; //DCLK=0;DIN=0; CS=0; BUSY=0;DOUT=1;

247 2 KOD_ADC[x]=0;

248 2

249 2 DIN=1; // start

250 2 DCLK=1;

251 2 DCLK=0; //

252 2 DIN=A2; // A2

253 2 DCLK=1;

254 2 DCLK=0;

255 2 DIN=A1; // A1

256 2 DCLK=1;

257 2 DCLK=0;

258 2 DIN=A0; // A0

259 2 DCLK=1;

260 2 DCLK=0;

261 2 DIN=0; // MODE

262 2 DCLK=1;

263 2 DCLK=0;

264 2 DIN=1; // SGL см TABLE1

265 2 DCLK=1;

266 2 DCLK=0;

267 2 DIN=1; // PD1 см TABLE5

268 2 DCLK=1;

269 2 DCLK=0;

270 2 DIN=1; // PD0

271 2 DCLK=1;

272 2 DCLK=0;

273 2 DIN=0;

274 2 BUSY=1;

275 2 DCLK=1;

276 2 DCLK=0;

277 2 BUSY=0;

278 2

279 2 while (B>0)

280 2 =DOUT;

282 3 DCLK=1;

283 3 DCLK=0;

284 3 B—;

285 3

286 2 B=12;

287 2 DCLK=1;

288 2 DCLK=0;

289 2 DCLK=1;

290 2 DCLK=0;

291 2 DCLK=1;

292 2 DCLK=0;

293 2

294 2 CS=1;

295 2 BUSY=1;

296 2 DOUT=1;

297 2

298 2 U[x]=Razreshenie_ADC*KOD_ADC[x]; //напряТСниС Π½Π° Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ΅

299 2

300 2 if (x==0) {

301 3 I[x]=(U[x]-2.5)*15; // ACS712ELCTR-30A-T для 5Π’

302 3}

303 2 else{

C51 COMPILER V9.50a STARTUP 12/27/2012 01:05:46 PAGE 6

304 3 I[x]=(U[x]-2.5)*5; // ACS712ELCTR-05B-T

305 3}

306 2

307 2 x++;

308 2 if (x==1)

309 2 {A2=1;A1=0;A0=1;}

310 2

311 2 if (x==2)

312 2 {A2=0;A1=1;A0=0;}

313 2 // ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ АЦП

314 2 if (x==3)

315 2 {A2=1;A1=1;A0=0;}

316 2

317 2 if (x==4)

318 2 {A2=0;A1=0;A0=1;

319 3 x=0;

320 3}

321 2

322 2 WDTRST=0x1E; // Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ (ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ) watch dogs timer

323 2 WDTRST=0xE1;

324 2

325 2 //индикация

326 2

327 2 LCD_init ();

328 2 N1 = sprintf (txtbuf1," %.3f", I[0]);

329 2 N2 = sprintf (txtbuf2," %.3f", I[1]);

330 2 N3 = sprintf (txtbuf3," %.3f", I[2]);

331 2 N4= sprintf (txtbuf4," %.3f", I[3]);

332 2 string (0×83, txtbuf1);

333 2 string (0x8E, txtbuf2);

334 2 string (0xC3, txtbuf3);

335 2 string (0xCE, txtbuf4);

336 2 string (0×80, «I1=»);

337 2 string (0×89, «A»);

338 2 string (0x8B, «I2=»);

339 2 string (0×93, «A»);

340 2 string (0xC0, «I3=»);

341 2 string (0xC8, «A»);

342 2 string (0xCB, «I4=»);

343 2 string (0xD3, «A»);

344 2}}

MODULE INFORMATION: STATIC OVERLAYABLE

CODE SIZE = 1720 —-;

CONSTANT SIZE = 23 —-;

XDATA SIZE = 56 96

PDATA SIZE = —— —-;

DATA SIZE = —— —-;

IDATA SIZE = —— —-;

BIT SIZE = —— —-;

END OF MODULE INFORMATION.

C51 COMPILATION COMPLETE. 0 WARNING (S), 0 ERROR (S)

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π˜Ρ‚ΠΎΠ³ΠΎΠΌ выполнСния курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° систСмы ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°. Π’ Ρ…ΠΎΠ΄Π΅ выполнСния Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ с ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Ρ‹Π±ΠΎΡ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ схСмы ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π½ΠΎΠΉ Π±Π°Π·Ρ‹ систСмы. Π‘Ρ‹Π»Π° спроСктирована ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Π°Ρ схСма систСмы с ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π±Ρ‹Π»ΠΈ составлСны Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, написанная Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ программирования высокого уровня Π‘. Π’ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ Π±Ρ‹Π»ΠΎ прСдоставлСно конструктивноС исполнСниС систСмы Π² Π²ΠΈΠ΄Π΅ ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ‹. Π’Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»Π° ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° работоспособности устройства.

1. АлСксандров К. К. ЭлСктротСхничСскиС Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠΈ ΠΈ ΡΡ…Π΅ΠΌΡ‹ / К. К. АлСксандров, Π•. Π“. ΠšΡƒΠ·ΡŒΠΌΠΈΠ½Π°. — Πœ.: Π­Π½Π΅Ρ€Π³ΠΎΠ°Ρ‚ΠΎΠΌΠΈΠ·Π΄Π°Ρ‚, 1990. — 288 с.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ