Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
README | 2020-04-04 | 2.0 kB | |
StepRateCalculator-Win32.zip | 2020-04-04 | 6.0 MB | |
Setup-StepRateCalculator-Win32.exe | 2020-04-04 | 4.6 MB | |
StepRateCalculator-Win32-Source.zip | 2020-04-04 | 6.7 kB | |
Totals: 4 Items | 10.6 MB | 0 |
StepRateCalculator Calculate and save step rate tables for an NCO (Numerically Controlled Oscillator) Copyright (C) 2020 Allen Fairfield joeelectronics43@outlook.com This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/> What it is ---------- I have been experimenting with microcontrollers, and in particular, an NCO, to generate a sawtooth waveform for a possible DIY synthesizer. With any luck, it will work with MIDI to play music. If you don't know what an NCO is, check it out on Google. It uses an "adder/accumulator", basically an adder with it's outputs stored in a latch . The output of that is fed back into the adder, and is updated at regular intervals (sample rate), at the moment around 32KHz. The other set of inputs determines what number to add to the latch outputs, to skip steps, to vary the output frequency. That is the step rate, and this app calculates that for you. Just enter the sample rate you want to use, and the number of bits for the adder / accumulator - 16, 24 or 32 bits. It generates step rate data tables, for assembly language and C. Then you paste those into your source code for your microcontroller. The created tables are labeled "BYTE0", "BYTE1", "BYTE2" and "BYTE3". For 16 bits, you only get the first two. For 24 bits, three, and for 32 bits, all four. Byte 0 is the low byte, and they ascend to whatever your most significant byte is.