It could be that the people in your story never discovered black powder gunpowder, but instead use Nitroglycerin or a similarly unstable chemical to cause the explosions in the cannon.
In its pure form, nitroglycerin is a contact explosive, with physical shock causing it to explode.
Early in its history, liquid nitroglycerin was found to be "desensitized" by cooling it to about 5 to 10 °C (40 to 50 °F). At this temperature, nitroglycerin freezes, contracting upon solidification.
Pure nitroglycerin would be too dangerous to carry around in a hand-held weapon, and the only way they can use it would be to transport it with ice blocks, before carefully putting it in the cannon and thawing it.
They would also need only a small amount, since nitroglycerin is manyfolds more explosive than black powder.
The technology involved in desensitizing it(giving it stability) enough to be used in handguns is also quite complex.
The use of such an unstable explosive in the cannons would also introduce intricacies to the wars, making the transportation logistics interesting.
In April 1866, three crates of nitroglycerin were shipped to California for the Central Pacific Railroad, which planned to experiment with it as a blasting explosive to expedite the construction of the 1,659-foot-long (506 m) Summit Tunnel through the Sierra Nevada Mountains. One of the crates exploded, destroying a Wells Fargo company office in San Francisco and killing 15 people.
As can be seen from this paragraph, the transportation would be very risky, and I’m sure the cannoneer position would have to be considered a high-risk occupation if explosives similar to nitroglycerin were used.