Application of ISD4004 Voice Chip in Voice Station

Abstract: ISD4000 voice series chip is a product launched by American ISD company. It has the characteristics of repeated recording and playback many times, long storage time, no need to expand memory when used, and simple peripheral circuits. This paper introduces a practical application of the ISD4000 chip in the voice annunciator, and explains its function and use method, so that the reader has a preliminary understanding of the use of the ISD4000 series voice chip.

ISD4000 voice chip is a new product launched by American ISD company. About the pin description and internal circuit of the voice chip, it is easy to find in the chip information provided by the ISD company. The author does not make too many descriptions, but only briefly introduces its characteristics.

Compared with ordinary recording / playback chips, ISD4000 has the following characteristics: first, there is no segment length limit for recording sound, and sound recording does not require A / D conversion and compression; second, using fast flash memory as a storage medium without power supply Save data for up to 100 years and repeat recording more than 10000 times; In addition, ISD4000 has the advantage of long recording time (up to 16 minutes, the 8-minute ISD4004 voice chip used in this article); Finally, the development and application of ISD4000 has the required peripherals The advantages of the simple circuit, this can be realized from the practical application of the voice station station introduced in this article.

1 Hardware circuit design of voice annunciator

At present, most of the voice annunciators circulating on the market use chips not of the ISD4000 series, which is related to their recent introduction and the high price. But with the increase in the application of ISD4000 and the price drop, coupled with the advantages of the ISD4000 series chips themselves, it is believed that the use of ISD4000 series voice chips in the voice station is completely feasible. The author designed the hardware circuit of the device, and carried out the commissioning on the car, and achieved satisfactory results.

Figure 1 The hardware circuit connection diagram of the station report

The voice annunciator discussed in this article mainly refers to the playback circuit mounted on the car, and does not include the recording circuit. In practical applications, the recording circuit completes the recording work of the station content, and stores the recorded content in the voice chip. This article mainly introduces the typical application of ISD4000 in combination with the use of ISD4000 in the playback circuit.

The main circuit of the annunciator discussed in this article is mainly composed of single chip microcomputer 89C52 and ISD4000. The hardware circuit connection diagram of the system is shown in Figure 1.

The system is mainly divided into three parts: single-chip microcomputer control part, playback part and display part. The display circuit uses two 7-segment static displays controlled by P3.0 and P3.1, which will not be described in detail here; the control part is mainly composed of single-chip microcomputer 89C52, including the necessary key circuit, reset circuit and gate Peripheral circuits such as dog circuits; the playback part is mainly composed of ISD4000, including supporting transformer circuit and power amplifier circuit.

It can be seen from Figure 1 that there are fewer connections between 89C52 and ISD4000. The P1.0 ~ P1.3 pins of the single-chip microcomputer are connected to the buttons to control whether the sound is played and the content of the sound during the work of the station reporter; P1.6 is connected to the chip selection pin / SS of ISD4000 to control whether the ISD4000 is gated; 7 Connect the serial input pin MOSI of ISD4004, read the address of playback from this pin; P3.0 and P3.1 control the peripheral display circuit, display the current station number during the work of the station report; P3.2 And P3.3 are connected to the serial clock pin SCLK and interrupt pin / INT of ISD4000 respectively. The connection required by the ISD4000 chip is also the audio signal output pin AUDOUT, which is connected to the speaker through a filter capacitor; AMCAP is an automatic mute terminal, which is grounded through a capacitor when in use. In addition, because the working voltage of ISD4004 is 3V, and the power supply voltage required by the single chip microcomputer is 5V, it is necessary to use a transformer circuit to obtain a 3V voltage for ISD4000.

2 Software design

The program flow chart is shown in Figure 2.

After the circuit is powered on, first complete the initialization of the program, and then query the key status to enter the system standby state. If a key is pressed, then go to execute the work program pointed by the key. Buttons include play button, stop button, plus one button, minus one button and special language keys. In the standby state, if the play button is pressed for the first time, the program will first determine whether to go or return (the bus route is generally both go and return), and light the corresponding indicator to automatically read the first stop. Play content, station number display 1. If it is not the first time, first judge the current station number and obtain the first address of the station's playback content based on the station number; then call the playback subroutine to read the first address of the station's playback content obtained previously To start playing. After each sentence is played, the interrupt pin (25 feet) of ISD4000 will automatically send a low-level signal. In hardware design, this pin is connected to P3.3 of the microcontroller, so it will cause an interrupt. In the interrupt subroutine, there is a counter to record the number of interrupts, so as to determine when the current station ends, the station number is increased by one and the display is refreshed . After pressing a key, the program playback content turns to the next station; after pressing a key, the program playback content turns to the previous station, and the corresponding station number display will also be refreshed; the special language key is pressed After that, the program turns to execute special language playback (such as "turning please note" and other statements); pressing the stop key will stop the current playback state.

In order to facilitate the reader's understanding of the application of ISD4000, this article gives part of the program.

This part of the program mainly completes the playback operation, and sends the address of the obtained playback content to the ISD 4000 to complete the playback.

PLAY?

ACALL POLEWUP on the electronic program

ACALL DELAY 25? Delay subroutine, at least delay

25ms later

CLR P1.6? ISD4000 selected

MOV PLAY2? # 1110000B? Store the SETPLAY command

MOV A? PLAY0? Sending address 8 lower

ACALL SEND? Call to send address subroutine

MV A? PLAY1? 8-bit higher address of playback

ACALL SEND

MOV A? PLAY 2? Send the SET PLAY command

ACALL SEND

SETB P1.6

CLR P1.6

MOV PLAYING? # 11111000B? Send playback command

MOV A? PLAYING

ACALL SEND

SETB P1.6

RET

POWERUP?? Subroutine for sending power on command

MV POWING? # 0010000B? Send the voice chip power-on signal

MV A? POWUPING

CLR P1.6

ACALL SEND

SETB P1.6

RET

SEND:? Send instructions to ISD 4004,

Subroutines such as addresses

CLR MOSI

CLR P3.2

MOV R1? # 8

OUTBIT1?

CLR P3.2? Clock down

RRC A

MV MOS? C? Output 1 bit

NOP

NOP

SETB P3.2? Clock rising edge to

NOP

NOP

NOP

DJNZ R1? OUTBIT1

RET

In the playback program, it is necessary to program in strict accordance with the requirements of ISD4000. First send the power-on command, then wait for the delay of 25μs, then send 16-bit playback start address, and finally send the 8-bit start playback command.

In the debugging process of the playback circuit, first measure whether the working voltage of the ISD4000 is 3V, if it is, then enter the lower level debugging. Look at whether it can be sent to the playback address, which can measure the voltage of the AUDOUT pin. If it is 1.2V, it means that the playback address can be read. After measuring whether it can play, you can measure the voltage of the AUDOUT pin. If it is 1.2V, it means that the ISD4000 chip is working properly and can play. If you do not hear the playback, debug the playback circuit of the next stage to see if there is a problem with the post-stage circuit.

The stopper circuit introduced in this article has been debugged on board and can work stably and reliably.

Tech Zone supports Amazon (AWS) media services to provide quality assurance for end-to-end video. Imec is about to shock the HD experience brought by the first short-wave infrared (SWIR) band hyperspectral imaging camera 4K ultra-high-definition home theater projector. Shengju Apple TV 4K disassembly report based on unified computing architecture technology video display system design: familiar modular components

Follow WeChat

Interesting and informative information and technical dry goods

Download Audiophile APP

Create your own personal electronic circle

Follow the audiophile class

Lock the latest course activities and technical live broadcast
Collect People collection
share it:
comment
Publish

related suggestion

var check_allow = "/d/Api/iscantalk.html"; var add_url = '/ d / article / write /'; function CheckLogin () {now_uid = ''; var ElecfansApi_checklogin = '/ webapi / passport / checklogin'; var logout_url = "{: U ('Login / logout')}"; var logout_url = 'http://bbs.elecfans.com/member.php?mod=logging&action=logout&refer=front'; $ .get (ElecfansApi_checklogin, function (data, textStatus) {if (data! = "") {EchoLoginInfo (data); CheckEmailInfo (data); data = $ .parseJSON (data); now_uid = data.uid; / * var login_content = 'write an article
'+ data.username +'
Quit '; * / var login_content =' write an article
'+ data.username +'
Set exit '; $ (' # login_area '). Html (login_content); var win_width = $ (window) .width (); if (win_width> 1000) {$ ("# mine"). MouseDelay (200) .hover (function () {$ ("# mymenu"). show ();}, function () {$ ("# mymenu"). hide ();});}} else {var content = 'Login Registration'; $ ('# login_area'). html (content); $ (". special-login"). click (function (e) {$ .tActivityLogin (); return false;});}});} $ (function () {// comment ------------------------------- var comment = $ ("# comment"); var comment_input = $ ("# comContent"); // Submit comment click event interaction $ ("# comSubmit2"). on ('click', function () {var content = comment_input.text (); // Empty input box comment_input. html (""). focus (); // Submit data to the server $ .ajax ({url: '/plus/arcComment.php', data: {aid: $ ("# webID"). val (), dopost : 'apiPubComment', content: content}, type: 'post', dataType: 'json', success: function (data) {// Data format returned: if (data.status == "successed") {// Build temporary comment DOM var dom = ''; dom + = '
'; dom + =' '; dom + ='
'; dom + ='

'+ data.data.username +' '; dom + ='

'; dom + =' '+ content +' '; dom + =' '; dom + =' just now '; dom + =' '; dom + =' '; // insert a temporary comment to the list $ ("# comment ") .append (dom);} if (data.status ==" failed ") {// alert (data.msg); layer.msg (data.msg);}}}); return false;}); (function () {/ * * Insert single sign-on JS * / var setHost = 'https://passport.elecfans.com'; // Set domain name var script = document.createElement ('script'); script.type = 'text / javascript'; script.src = setHost + '/public/pc/js/t.passport.js'; script.setAttribute ("id", "sso_script"); script.setAttribute ("data-ssoSite", setHost); script.setAttribute ("data-ssoReferer", encodeURIComponent (location.href)); script.setAttribute ("data-ssoSiteid", "11"); var body = document.getElementsByTagName ("body"). item ( 0); body.appendChild (script);}) () / * * It is recommended to modify the style of the article without a picture * * / $ (". Article .thumb"). Each (function () {if ($ (this). find ('img'). attr ('src') == "") {$ (this) .find ('img'). remove (); $ (this) .parent (). css ('padding-left ',' 0px ');}}); / * Baidu share * / window._bd_share_config = {common: {bdText: '', // Custom share content bdDesc: '', // Custom share summary bdUrl: window.location.href, // Custom share URL address bdPic: ''} , share: [{"bdSize": 60, "bdCustomStyle": true}]} with (document) 0 [(getElementsByTagName ('head') [0] || body) .appendChild (createElement ('script')). src = 'http://bdimg.share.baidu.com/static/api/js/share.js?cdnversion=' + ~ (-new Date () / 36e5)]; var add_url = '/ d / article / write / '; // var check_allow = "{: U (' Api / iscantalk ')}"; var check_allow = "/ d / api / iscantalk"; var click_items_length = $ ('. art_click_count '). length; if ( click_items_length> 0) {var id_str = ''; $ ('. art_click_count'). each (function () {id_str + = $ (this) .attr ('data-id') + ',';}) // var url = "{: U ('Api / getclickbyids')}"; var url = "/ d / api / getclickbyids"; var id_data = 'id_str =' + id_str; $ .ajax ({url: url, data: id_data, type: 'post', dataType: 'json', success: function (re) {if (re.list.length> = 1) {var list = re.list; for (var i in list) {var t emp_id = list [i] ['id']; var temp_span = $ (". art_click_count [data-id =" + temp_id + "]") temp_span.html (list [i] ['click']);}} }})} $ ("# comContent"). click (function () {if (now_uid == '') {$ .tActivityLogin (); return false;}}) $ (function () {var follow_wrap = $ ( ".author-collect"); var now_uid = "{$ _super ['uid']}"; var face_src = "{$ _super ['uface']}"; var getFollowNum = $ (". followNum strong"). html (); // Follow $ (window) .on ('click', '.author-collect', function () {if (now_uid == '') {$ .tActivityLogin (); return false;} if ( $ (this) .attr ('id') == 'follow') {$ .post ('/ d / user / follow', {tuid: article_user_id}, function (data) {// Data format returned: if (data.status == "successed") {$ (". followNum strong"). html (++ getFollowNum); follow_wrap.html ('followed'). attr ('id', 'cancelFollow'). css ( 'background', '# 999'); var follow_user = ' '; $ (' # follow_list '). append (follow_user);} if (data.status == "failed") {alert (data.msg);}});} else {// Unfollow if ($ ( this) .attr ('id') == 'cancelFollow') {$ .post ('/ d / user / cancelFollow', {tuid: article_user_id}, function (data) {// Data format returned: if (data .status == "successed") {follow_wrap.html ('Follow'). attr ('id', 'follow'). css ('background', '# f90'); $ (". followNum strong"). html (-getFollowNum); $ ('# follow_list .face'). each (function () {var target_uid = $ (this) .attr ('data-uid'); if (target_uid == now_uid) {$ ( this) .remove ();}})} if (data.status == "failed") {alert (data.msg);}}); return false;}}});});}); / * var myface = "{$ _super ['uid'] | avatar}"; var myname = "{$ _super ['username']}"; var article_id = {$ article ['id']}; var article_user_id = {$ article ['mid']}; // Article author ID $ (function () {<notempty name = "clearnum"> // Reduce the number of reminders var count = parseInt ($ ("# noticeCount"). html ()); count = count-{$ clearnum}; $ ("# noticeCount"). html (count); if ( count

LED Street Light

Led Street lights play an important role in life, suitable for streets, urban roads, residential areas, courtyards, gardens and so on. Adaptive beam angles are a feature of street light.Street lights not only have a strong structure to withstand all weather conditions and influence factors to ensure the safety of passers-by, but also have a unique design and rich shape, become a beautiful scenery on the way.

LED Light source, high brightness, high color index, and energy saving.

l Spotlight design, uniform spot, anti glare.

l Corrosion resistant finish

LED Street Light

Solar Street Light,Solar Street Lamp,Solar LED Street Light,Solar Powered Street Lights

JIANGMEN LEDER LIGHTING CO., LTD , https://www.lederlight.com