electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » DIY Hardware and Software » Developers' Corner
Virtual Analog Synthesizer
Post new topic   Reply to topic Moderators: DrJustice
Page 2 of 3 [72 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Goto page: Previous 1, 2, 3 Next
Author Message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Mon Aug 27, 2018 10:04 am    Post subject: Reply with quote  Mark this post and the followings unread

VA1 wrote:
So if i add static inline in front of my void function() it will be faster ?
Nice to know.

static variables inside the function prevents the compiler from using the stack for variables, even private ones. In static functions themselves, the static keyword limits the function's scope and doesn't affect speed. The inline keyword causes the compiler to insert the actual code inside the function into the main stream of instructions instead of call instructions. These two things prevent all of the stacking and unstacking of variables and return data which causes the code to be faster. However, this also causes the code to use more Flash memory because the functions are copied into the code stream for each call (similar to how a macro works).

VA1 wrote:
ASM i would love to, you must have spended big time on,
or maybe grew up with ASM.

I did start with assembly language on a Motorola 6800 chip (one whole huge megahertz) many many years ago. There was no C compiler for it and the only language available was BASIC which was very slow.

VA1 wrote:
Its 2018 and i still have to do assembly language ?
Suppose you would buy/hack the XC16 compiler, is that not fast enough ?
Is the compiler that dumb that it cant optimize good ?
what is the problem ?, those microchip software always is sucky somehow and they keep ruining it further.

Assembly language won't be necessary if you use gcc or other advanced compiler for devices like STM32. It will be hard to beat the code it can generate. Only older CPUs like dsPIC or very special needs would require assembly for STM32 chips.

I know nothing about XC16. You'd have to research what it's optimization parameters do. With gcc, it's a matter of setting optimization to either -O2 or -O3 to get it to include DSP instructions where applicable.

In the days that dsPIC was popular, assembly language was expected for engineers to know. The development of those compilers stopped because for commercial products, the dsPIC line is pretty well dead.

VA1 wrote:
I hope STM32 has better softwares that also work without internet,
not a shop tab that crashes, i dont intend to buy anything ever exept hardware.


MPLAB was free to download, but as I said, it's no longer developed. gcc is a program that is capable of doing cross-compile for a large number of devices including the vast majority of STM32 CPUs. I use Linux as a development platform (in a VM under Windows 7) where I can edit source with my favorite text editor and then compile with gcc using gcc alone or using a makefile. There are also GUI based IDE which I don't use. I tried to use Eclipse, but found it to be unintuitive and clumsy. I found it easier to work in a simpler environment, but the setup of the environment is somewhat involved and needs to be done in Linux. I don't know of a text based Windows way to do STM32 compiles, though Eclipse and other IDEs have gcc compiled to run under Windows. There are also IDE systems that can be purchased such as Keil, but I've never tried them since I found success at doing it free under Linux.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
VA1



Joined: Aug 20, 2018
Posts: 98
Location: Nederland

PostPosted: Tue Aug 28, 2018 2:56 am    Post subject: Reply with quote  Mark this post and the followings unread

Here is the code for the oscillator :

Code:

#define FIRST_HARMONIC 2

long lTempSinus;
unsigned char harmonic;

//------------------------------------------------------------------------------
void LoadHarmonic()
{
lTempSinus += sinus[ ( s2 * harmonic ) & MAXBIT_SINE ] / harmonic;
}

//------------------------------------------------------------------------------
// Load Saw
//------------------------------------------------------------------------------
void LoadSaw()
{
for( s2 = 0; s2 < LUTSIZE_SINE; s2++ )
   {
   lTempSinus = sinus[ s2 ];
   for( harmonic = FIRST_HARMONIC; harmonic <sawpartials>> 1 );
   }
}

//------------------------------------------------------------------------------
// Load Square
//------------------------------------------------------------------------------
void LoadSquare()
{
for( s2 = 0; s2 < LUTSIZE_SINE; s2++ )
   {
   lTempSinus = sinus[ s2 ];
   for( harmonic = FIRST_HARMONIC; harmonic <= squarepartials + squarepartialsextra; harmonic++ )if( harmonic & 1 )LoadHarmonic(); // odd harmonics only
   
   squarelut[ s2 ] = ( short )( lTempSinus );
   }
}



Attatchment for correct code


osc.txt
 Description:

Download
 Filename:  osc.txt
 Filesize:  1.16 KB
 Downloaded:  276 Time(s)

Back to top
View user's profile Send private message
VA1



Joined: Aug 20, 2018
Posts: 98
Location: Nederland

PostPosted: Tue Aug 28, 2018 3:03 am    Post subject: Reply with quote  Mark this post and the followings unread

Here update for synth : chorus fixed and all functions are inline now,
i placed inline at the prototypes and the functions.
Chorus sounds good now, can also be disabled.
Back to top
View user's profile Send private message
VA1



Joined: Aug 20, 2018
Posts: 98
Location: Nederland

PostPosted: Tue Aug 28, 2018 3:22 am    Post subject: Reply with quote  Mark this post and the followings unread

JovianPyx wrote:
VA1 wrote:
Why dont DIP package exist @ 400MHz ?

One thing you'd really like about the more advanced STM32 chips (such as STM32H7) is that the CPU has an internal FPU that does float type add, subtract or multiply in one clock cycle. This means all the fixed point integer nonsense is not necessary because float and fixed point are the same speed (in fact, float is actually faster if you consider the shift that is needed after a fixed point multiply). The float type also has a 23 bit mantissa giving more resolution than 16 bit fixed point as well as providing the exponent to give a much larger range of values.


Does float to int conversions still cost much ?, or you still need ASM for that like in windows ?

DSPIC can shift up to 16 bit in 1 instruction, that is called a DSP function.
Does STM32 also shift many bits in 1 instruction ?
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Tue Aug 28, 2018 6:13 am    Post subject: Reply with quote  Mark this post and the followings unread

VA1 wrote:
JovianPyx wrote:
VA1 wrote:
Why dont DIP package exist @ 400MHz ?

One thing you'd really like about the more advanced STM32 chips (such as STM32H7) is that the CPU has an internal FPU that does float type add, subtract or multiply in one clock cycle. This means all the fixed point integer nonsense is not necessary because float and fixed point are the same speed (in fact, float is actually faster if you consider the shift that is needed after a fixed point multiply). The float type also has a 23 bit mantissa giving more resolution than 16 bit fixed point as well as providing the exponent to give a much larger range of values.


Does float to int conversions still cost much ?, or you still need ASM for that like in windows ?

Float to int conversion is handled by one instruction, but the datasheet didn't include how many clocks it takes - my guess would be one. I've not had a need to use ASM with the STM32 CPUs. I've looked at the output disassembly code from the gcc compiler and it looks very efficient.

Quote:
DSPIC can shift up to 16 bit in 1 instruction, that is called a DSP function.
Does STM32 also shift many bits in 1 instruction ?


Yes, the STM32 has barrel shift instructions and DSP instructions that use a barrel shift as part of what it does.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Tue Aug 28, 2018 9:05 am    Post subject: Reply with quote  Mark this post and the followings unread

I did a little research on cycle times for instructions. It seems that the STM32 CPUs in the M0 through M4 classes have lists of instructions and the time it takes in CPU clocks to execute them. M7 has no such published information. What I read is that it is nondeterministic because of cache and pipelining and that those processor features cause the average execution of most instructions to be one clock cycle. Apparently, the actual time can be several clocks from actual start to actual finish especially when the pipeline and cache are empty, but the hardware is arranged in a way that while fetching the next instruction, parts of the previous instruction are still executing. As such, this is a form of parallel processing and that is why the average instruction time is one clock cycle.

As a developer, if you want to know the timing of a specific stream of instructions, you'll have to write a benchmark to test, time and average for a meaningful result. This is how I learned that the single precision floating point add and multiply instructions take the same amount of time as integer add and multiply instructions - one clock cycle averaged.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
VA1



Joined: Aug 20, 2018
Posts: 98
Location: Nederland

PostPosted: Wed Aug 29, 2018 1:46 am    Post subject: Reply with quote  Mark this post and the followings unread

Thanks, great to talk to another synthesizer programmer.

btw : chorus is not fixed yet, i have to get rid of that crackling sound, only when off its good.

JovianPyx wrote:

My only disappointment with the dsPIC33FJ128 is the white noise that comes from the DAC. It is mostly not noticed until the synth is playing very softly, but it's always there.


I still have to test my synth in the studio,
for the phase modulation synth ( DX clone ), i used a 15n cap on a opamp to remove all high frequencys, that one has no noise problems because its bass focust.
Will report back with how noisey this one is, it has only a 100p cap on the audio opamp.
Maybe it wont be bad since its a mono synth, i can imaging dividing volume by 12 for your poly synth makes more noise.
Effectefly its only a 14 bit DAC.
Back to top
View user's profile Send private message
VA1



Joined: Aug 20, 2018
Posts: 98
Location: Nederland

PostPosted: Wed Aug 29, 2018 1:54 am    Post subject: Reply with quote  Mark this post and the followings unread

JovianPyx wrote:
The inline keyword causes the compiler to insert the actual code inside the function into the main stream of instructions instead of call instructions. These two things prevent all of the stacking and unstacking of variables and return data which causes the code to be faster. However, this also causes the code to use more Flash memory because the functions are copied into the code stream for each call (similar to how a macro works).


I think for me the inline have no difference ?, since all my functions are accessed via function pointers.
With function pointers you can assign a different filter type or effect for example.
Normally i use macros or have the code typed in main.
Maybe for the control changes i have some function, only that is not inner loop.
* so i spended 10 minutes about making all functions inline *
program space i have 50% left, while my lookuptable space, and text space are always full, i really need that ASM code to have unlimited text and LUTs while program space is not full.
Why does the compiler gives only a bit text space ?, i like it to be neutral at whatever ROM i like.
Back to top
View user's profile Send private message
Blue Hell
Site Admin


Joined: Apr 03, 2004
Posts: 23843
Location: The Netherlands, Enschede
Audio files: 271
G2 patch files: 320

PostPosted: Wed Aug 29, 2018 3:02 am    Post subject: Reply with quote  Mark this post and the followings unread

The pic24/dsPIC compilers pack 16 bits of data into 24 bits of ROM space ... this is easier to program for the compiler builder and a bit faster to execute ... when you want to use all available space there you'll have to write some ASM code to access it ... or maybe one of the 'visibilty windows' can be used ... C probably has some 'intrinsic functions' to access the flash that way .. but .. it depends on the actual processor being used .. they all are a little different ... microchip ... Confused

Oh and also: welkom VA1!

_________________
Jan
also .. could someone please turn down the thermostat a bit.
Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message Visit poster's website
VA1



Joined: Aug 20, 2018
Posts: 98
Location: Nederland

PostPosted: Wed Aug 29, 2018 3:25 am    Post subject: Reply with quote  Mark this post and the followings unread

Hey thank you.

I only have the DSPIC33FJ128GP802, and would like to build a big big table.
If someone can explain me BLIT oscillator i dont need it for this.

I also have this 40 pin PIC16 @ 32MHz,
i plan to use it as controller for a 3 in 1 synth with 3 DSPICs.
It has certainly a text shortage, also gonna need the ASM for that one.

( btw it will have a switching DC/DC converter not this overheat 7805 )
Back to top
View user's profile Send private message
VA1



Joined: Aug 20, 2018
Posts: 98
Location: Nederland

PostPosted: Fri Aug 31, 2018 4:27 am    Post subject: Reply with quote  Mark this post and the followings unread

This synth is indeed very noisey,
i might need some analog filtering to lower the noise.
This thing has more noise then a DX7.

New version with chorus interpolation, see attatchment.
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Fri Aug 31, 2018 7:44 am    Post subject: Reply with quote  Mark this post and the followings unread

The problem with trying to filter out this kind of noise with only an analog filter is that the filter will also filter out some of your synth signal harmonics. Below I describe a way to first amplify the digital signal highs before the signal becomes analog where the analog filter attenuates highs back to normal level.

You could use 2 tilt filters, one digital, one analog. First the digital signal is processed using a digital tilt filter that emphasizes high frequencies and attenuates bass. Then at the output, you supply an analog version of the same tilt filter but tilted the other way, attenuating highs and boosting bass. Here what happens is the digital filter emboldens high frequencies while the signal is digital. This will not amplify the noise coming from the DAC because the noise is not part of your digital signal as the noise comes from an imperfection in the delta-sigma algorithm of the DAC. As such, only the synth signal's highs are emphasized. Then once the signal is processed by the DAC and is analog, you use a similar analog filter but tilted in the opposite way so that the digital signal highs are compensated back to normal while the DAC noise is attenuated. If done correctly, this system should have little effect on the synth's sound, but should attenuate only the easily heard high frequency noise. This will not eliminate the noise entirely, but it should reduce it. The better the two tilt filters are matched, the better this method will work. You will have to mess around with the tilt frequency and the amount of tilt used. Remember that if you change one filter, you will likely need to change the other one. A side effect of this could be increased rumble noise which may or may not be acceptable. Proper setting of the tilt frequency may mitigate this effect. I would suggest not trying to go to extremes as this can cause digital resolution issues especially when using 16 bit fixed point arithmetic. It is also possible that there are other filters that could work in a similar manner and might avoid the rumble, however I've no idea how much CPU such filters might require.

There are probably other ways to accomplish this effect using filters other than tilt, but it was something I thought of for this problem. I have not tried it myself. Please let us know if you try this and how it worked. Since I've never implemented a tilt filter in neither analog nor digital, I've no more information. Blue Hell has implemented a dgital tilt filter, so he may be able to answer questions about that - otherwise, as usual, Google is your friend.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
VA1



Joined: Aug 20, 2018
Posts: 98
Location: Nederland

PostPosted: Fri Aug 31, 2018 9:19 am    Post subject: Reply with quote  Mark this post and the followings unread

Thanks for the trick, nice one.
I dont have any power left.

I think i wont use this chip any more for virtual analog,
i have to reprogram my DX & CZ clones, those has 15n cap on opamp,
i used this to remove feedback noise from the DX clone, and used the same project for my CZ clone.
By accident it was the right thing.

This synth is a failure, i still have the source codes waiting to be copyd into STM32.
Now i have 10 DSPIC chips left, no problem i will use them somehow.

First i have to focus on the PIC32MX i have. ( also 10 pieces )
Total of €100 chips i have to use before buying the STM32,

I have a order this week maybe i could add 1 to cart and skip the PIC32MX for now.
400MHz!!!

Oh well i need some kind of microscope to solder those,
and i dont know where to solder it on.
Currently i use strip boards only.
Are there no SMD stripboards ?

First i need the microscope, that will be the most expensive.
What do i need more ?
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Fri Aug 31, 2018 10:09 am    Post subject: Reply with quote  Mark this post and the followings unread

As I've aged, my vision has become less useful for things like SMT. I can do some of the larger stuff, but I've had problems.

As for stripboard, I know on none for SMT. Schmartboards is a company that makes adapter boards to which one can solder SMT devices and also pins to allow through-hole use of them. See here: http://schmartboard.com/

As for STM32, you can find Nucleo boards here:
https://www.st.com/en/evaluation-tools/stm32-mcu-nucleo.html?querycriteria=productId=LN1847

These boards have the CPU chip soldered along with the PSU, programming circuitry and power/program USB connector. The one I bought for STM32H7 was priced at $23. There is very little else on the board other than PSU, Ethernet, LEDs, switches and pads for pins that connect to the CPU chip. This board is tested and ready for programming when you get it. You need to add a CODEC for audio (or you can use the internal 12 bit DACs for stereo output - but I've not done this). It can be powered via the programming USB cable which needs to be purchased separately.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
VA1



Joined: Aug 20, 2018
Posts: 98
Location: Nederland

PostPosted: Sat Sep 01, 2018 6:41 am    Post subject: Reply with quote  Mark this post and the followings unread

Thanks i will look to that cable.
I like to make my own test board,
can you also program them without usb port on the board just like microchip PICKIT3 ?

And are all peripheral codes interchangable with those STM32 ?,
then i can first try a smaller chip to get started.

btw : are those DACS good for audio ?, are they perfect linear ?

Here update for my synth with distortion and experimental flanger see attatchment
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Sat Sep 01, 2018 8:00 am    Post subject: Reply with quote  Mark this post and the followings unread

VA1 wrote:
Thanks i will look to that cable.
I like to make my own test board,
can you also program them without usb port on the board just like microchip PICKIT3 ?

I've read it is possible using JTAG, but I've never tried it because the ST USB method is simple and fast using ST-LINK based software. If you want to include the USB port, the schematics for the Nucleo board are published and available for free.

Quote:
And are all peripheral codes interchangable with those STM32 ?,
then i can first try a smaller chip to get started.

The STM32 has completely different internal device organization and construction, so all of the register information will be different than Microchip. Note also that the STM32 is a 32 bit device, so it's device registers are 32 bits wide.

Quote:
btw : are those DACS good for audio ?, are they perfect linear ?
Here update for my synth with distortion and experimental flanger see attatchment

1) I've read that others have used it for audio. I've not done it, but I've used other 12 bit DACs and they sound good to me. I do prefer 16 or more bits, but I've done music with 12 bit DACs and noticed no quality problem. As with any number of bits, a problem occurs when the signal is at low amplitudes where only a few bits are being used. A 12 bit DAC has a higher voltage per bit step than 16 bit, so the problem with low signal levels might be heard moreso with a 12 bit DAC, however, it is there in all DACs.

2) I know of no electronic device that is "perfectly linear". To see the specs on the DACs, you'll need to download (free) the data sheet documents from ST. Personally, I wanted 16 or more bits of resolution, so I'll be using a external DAC part. I started with a CODEC, but the project needs 8 audio capable outputs, so I've changed to an 8 port SPI DAC (which is yet to arrive, so no testing has been done yet).

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
VA1



Joined: Aug 20, 2018
Posts: 98
Location: Nederland

PostPosted: Sat Sep 01, 2018 8:23 am    Post subject: Reply with quote  Mark this post and the followings unread

[quote="JovianPyx"]
VA1 wrote:

The STM32 has completely different internal device organization and construction, so all of the register information will be different than Microchip. Note also that the STM32 is a 32 bit device, so it's device registers are 32 bits wide.


No i mean STM only,
are the smaller chips the same code for all STM32 ?
Then i can try program and solder a small chip first, later copy to a big chip.

btw : i,m not feeling like having a 100pin DIP converter socket.
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Sat Sep 01, 2018 9:10 am    Post subject: Reply with quote  Mark this post and the followings unread

Ah, between different models of STM32 CPUs there is some similarity, such as from on STM32F7 and another of the same class. Different driver code may be needed, or existing driver code may need changes due to differences in the pins used by one CPU over another. However, there's a good deal of driver code supplied in the software packages available free from ST. Some of it appears in example projects. Other code can be found in github projects on the web. My first STM32F7 synthesizer project was adapted from this one:

https://github.com/thi-ng/ws-ldn-12

I have the board used for this project which made the process of coding my own synth much easier. In that case, I started with the simple sinewave to CODEC project and extracted the code that interfaces the application code with the WM8994 CODEC. Once done, I was able to code a MIDI synth.

This set of projects was designed to work on the STM32F746-Discovery board and is specific for the hardware on that board including the CODEC WM8994.

So far, the STM32H7 is a bit new and I haven't discovered any known-to-work audio projects using it.

As for the size of the chip, that determines only the number of pins and the number of peripheral devices available. If the CPU is of the same type, but more pins, the driver code should work though some changes may be needed to select the correct pins for the larger peripheral IO matrix. That is manageable using the STM32CubeMX program which can generate a base-line starting project for various target environments including makefile as well as the pay-for IDEs. STM32CubeMX creates code that will connect peripherals through the pin matrix to the pins you select. That code is "setup" code that is run in the first stage of the boot process. This means you don't have to dig through the datasheets to find how to connect from a peripheral to a specific pin. This code includes only the parts that are resident in the STM32 chip, so any external devices need driver code written specifically for them.

All of the free code on the ST site is source code in C and not precompiled libraries. You are free to download and use the code as is as well as modify it to make it more efficient or to change its function.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
VA1



Joined: Aug 20, 2018
Posts: 98
Location: Nederland

PostPosted: Sun Sep 02, 2018 6:34 am    Post subject: Reply with quote  Mark this post and the followings unread

Ok thanks, i am searching for STM32 chips now.

What is a codec for ?,
in PIC32MX i have bought a i2s DAC,
is that not usable ?, or otherwise some SPI DAC ?,
or do those SPI DACs also need codec ?

thanks

Last edited by VA1 on Sun Sep 02, 2018 7:05 am; edited 1 time in total
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Sun Sep 02, 2018 6:48 am    Post subject: Reply with quote  Mark this post and the followings unread

VA1 wrote:
Ok thanks, i am searching for STM32 chips now.

What is a codec for ?,

CODEC stands for coder-decoder. It has ADCs for coding (converting to digital) and DACs for decoding (converting to analog). Usually a CODEC uses a serial stream called I2S for audio data and I2C or SPI for control data. It is normally a stereo device packaged in one IC.
Quote:
in PIC32MX i have bought a i2s DAC,
is that not usable ?, or otherwise some SPI DAC ?,

That will work. I would assume it's capable of audio data rates and has at least 16 bits of conversion.
Quote:
or do those SPI DACs also need codec ?

No, they can be used just as they are, SPI is similar to I2S in that it's still a serial data stream. The main difference is that I2S has a left-right clock signal whereas SPI does not, but SPI can still handle stereo.

Quote:
thanks

edit : 16 pin packages not avaiable at mouser :
https://nl.mouser.com/STMicroelectronics/Semiconductors/Embedded-Processors-Controllers/Microcontrollers-MCU/32-bit-Microcontrollers-MCU/_/N-a85nm?P=1z0zpefZ1yvm6px&Ns=Pricing|0
only high volume

These days, more and more digital ICs are surface mount only. Through hole is a thing of the past which will eventually die out all together due to commercial manufacturers not using them in preference for lower cost SMT options.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
VA1



Joined: Aug 20, 2018
Posts: 98
Location: Nederland

PostPosted: Sun Sep 02, 2018 7:07 am    Post subject: Reply with quote  Mark this post and the followings unread

I found the chips.
It seems i should get STM32H7 instead of STM32F7 it is newer also better ?

2MB RAM, great!
Back to top
View user's profile Send private message
VA1



Joined: Aug 20, 2018
Posts: 98
Location: Nederland

PostPosted: Sun Sep 02, 2018 7:19 am    Post subject: Reply with quote  Mark this post and the followings unread

I find a nucleo board on ebay for €20 shipped,
it has a STM32F446RE chip soldered on, is it compatible with M7 core ?
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Sun Sep 02, 2018 7:19 am    Post subject: Reply with quote  Mark this post and the followings unread

The H7 is ST's newest and most advanced CPU. It can run as fast as 400 MHz. I believe the next fastest CPU is the F7 which tops out at 216 MHz. The H7 also includes an FPU capable of handling double precision floating point as well as single precision. I've used the F7 in synth work and got 32 voices of polyphony with Karplus-Strong. The H7 should be able to handle at least 32 voices and with a more complex feature set. In my synths, the MIDI controller runs in the same CPU as the synth engine code. In USA I got a Nucleo with STM32H7 on it for $23 (USD).
_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
VA1



Joined: Aug 20, 2018
Posts: 98
Location: Nederland

PostPosted: Sun Sep 02, 2018 8:08 am    Post subject: Reply with quote  Mark this post and the followings unread

Oh, wait : a nucleo with that chip cost as much as the chip self :

here is the board
https://nl.mouser.com/ProductDetail/STMicroelectronics/NUCLEO-H743ZI?qs=%2fha2pyFadugVZmIB9xDZVErNXO8KHh7F7puDhfBI%252bJdiZOtR7z1eDg%3d%3d

here the chip
https://nl.mouser.com/ProductDetail/STMicroelectronics/STM32H743ZIT6?qs=sGAEpiMZZMuoKKEcg8mMKDHOqjDMVKoRekGquH3JfppbPwFuKwFrLw%3d%3d

They want me to buy this board.
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Sun Sep 02, 2018 8:17 am    Post subject: Reply with quote  Mark this post and the followings unread

I never looked that far, but yeah, no sense buying the chip and struggling with SMT soldering when the board with the chip already soldered is available for a dollar or two more. That 2 MB of Flash makes for the ability to store a huge program as well as many large high resolution tables should that be needed. The Nucleo-144 is a great deal.
_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic Moderators: DrJustice
Page 2 of 3 [72 Posts]
View unread posts
View new posts in the last week
Goto page: Previous 1, 2, 3 Next
Mark the topic unread :: View previous topic :: View next topic
 Forum index » DIY Hardware and Software » Developers' Corner
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use